SSM框架-Spring
-
Spring程序开发步骤
- 导入Spring开发的基本包坐标
- 创建Bean
- 创建Spring 核心配置文件ApplicationContext.xml
- 在Spring配置文件中配置Bean
- 创建ApplicationContext获取Bean的实例
-
Bean标签范围
- 当scope为singleton时
- 实例化个数:1个
- 实例化时机:当ApplicationContext.xml被加载时
- bean的生命周期:
- 对象创建:当应用加载,创建容器时,就已经创建了
- 对象运行:只要容器在,就一直存在
- 对象销毁:当应用卸载,销毁容器时,对象就被销毁了
- 当scope为prototype时
- 实例化个数:多个
- 实例化时机:当调用getBean()方法时实例化
- bean的生命周期:
- 对象创建:当使用对象时
- 对象运行:只要对象在使用中,就一直活着
- 对象销毁:当对象长时间不用,被Java的GC回收了
- 当scope为singleton时
-
Bean实例化的方式
- 使用无参构造方法
<bean id="userDao" class="com.cc.dao.imp.UserDaoImp"></bean> - 工厂静态方法实例化

<bean id="userDao" class="com.cc.factory.StaticFactoryBean" factory-method="getUserDao"></bean> - 工厂实例化方法实例化

<bean id="factoryBean" class="com.cc.factory.DynamicFactoryBean"></bean>
<bean id="userDao" factory-bean="factoryBean" factory-method="getUserDao"></bean>
- 使用无参构造方法
-
Bean的依赖注入
-
set注入


-
构造方法注入


-
-
Bean的依赖注入属性
-
- 普通数据类型的注入
-
- 集合数据类型(List
)的注入
- 集合数据类型(List
-
- 集合数据类型(List
)的注入
- 集合数据类型(List
-
- 集合数据类型( Map<String,User> )的注入
-
- 集合数据类型(Properties)的注入
点击查看具体注入格式
<bean id="w1" class="com.cc.pojo.Wife"> <property name="name" value="小泽"></property> <property name="age" value="18"></property> </bean> <bean id="w2" class="com.cc.pojo.Wife"> <property name="name" value="小仓"></property> <property name="age" value="18"></property> </bean> <bean id="user" class="com.cc.pojo.User"> <property name="name" value="老刘"></property> <property name="age" value="23"></property> <property name="job"> <list> <value>程序员</value> <value>妇女之友</value> </list> </property> <property name="wife"> <list> <bean class="com.cc.pojo.Wife"></bean> <ref bean="w1"></ref> </list> </property> <property name="userMap"> <map> <entry key="wife1" value-ref="w1"></entry> <entry key="wife2" value-ref="w2"></entry> </map> </property> </bean>
-
-
Spring注解
- @Component 使用在类上用于实例化Bean
- @Controller 使用在web层类上用于实例化Bean
- @Service 使用在service层类上用于实例化Bean
- @Repository 使用在dao层类上用于实例化Bean
- @Autowired 使用在字段上用于根据类型依赖注入
- @Qualifier 结合@Autowired一起使用用于根据名称进行依赖注入
- @Resource 相当于@Autowired+@Qualifier,按照名称进行注入
- @Value 注入普通属性
- @Scope 标注Bean的作用范围
- @PostConstruct 使用在方法上标注该方法是Bean的初始化方法
- @PreDestroy 使用在方法上标注该方法是Bean的销毁方法
- @Configuration 用于指定当前类是一个 Spring 配置类,当创建容器时会从该类上加载注解
- @ComponentScan 用于指定 Spring 在初始化容器时要扫描的包。作用和在 Spring 的 xml 配置文件中的<context:component-scan base-package="com.cc"/>一样
- @Bean 使用在方法上,标注将该方法的返回值存储到 Spring 容器中
- @PropertySource 用于加载.properties 文件中的配置
- @Import 用于导入其他配置类

浙公网安备 33010602011771号