Spring成神之路---基础2

1.Spring生命周期的回调

1)类初始化时执行,即创建完实例对象后自动执行的方法,该方法的调用是在执行完构造方法后执行的,实现方
式有三种:
(1)实现InitalizingBean接口,重写afterPropertiesSet()方法
(2)在xml文件中配置,在bean标签中添加init-method="方法名"属性;
(3)在需要标记的方法上添加@PostConstruct注解。
对应的有销毁之前执行的方法,自行查阅。

2.Spring的常用属性详解

1)在xml配置文件的bean标签中可以添加属性depends-on=“其他bean的id”,主要作用是表明实例化顺序,A的实例化发生在该bean之后.
2)在xml配置文件中可以在bean标签中添加lazy="true"属性,表明该bean在调用过程中才会实例化对象。
3)在ComponentScan中配置excludeFilters或includeFilters属性,可以指定移除或添加指定的类到spring容器中。
4)@Autowired是根据类的类型来进行匹配的,所以当同一个接口有多个实现类时,在类注入的时候会产生错误
,因此添加@Qualifier(“类在实例化所对应的名称,即被@Service等标注的类的类名,首字母小写”)用来指定
注入的具体实现类,
5)@bean的作用主要是根据方法返回的对象从而生成对应的bean并且注入到spring容器中。在@bean标注的方
法中有形参时,可以在该方法上添加@Autowired(spring5不需要在添加),使其实参自动注入到形参上
6)@primary的作用是当注入时指定为该注解标记的实现类,其他的实现类(实现相同接口)自动过滤掉,主要
是针对 类型注入 。
7) @profile多用于在测试环境或开发环境等使用不同的配置文件而进行的设置,在spring初始化时可以指定需要
激活的@profile文件,当没有指定激活的文件时,会默认使用被@profile(“default”)标注的类,该注解也适用
与方法,要与@Bean一起使用。

3.Spring的循环引用

当bean为单例时,spring内部为所有的bean都进行了实例化并放入到一个内部缓存中,然后在进行相应的赋值操
作,因此当bean为单例时是支持循环引用的,当bean为prototype时,由于bean的实例化是在获取bean的时候进
行,在调用时对应的其他bean对象还没有生成,所以不支持循环引用

猜你喜欢

转载自blog.csdn.net/hdjansdasd/article/details/86039201
今日推荐