1.Spring⾥⾯bean的⽣命周期⾥⾯的init和destroy⽅法
2. bean的⼆次加⼯-Spring5.x后置处理器 BeanPostProcessor
- 什么是BeanPostProcessor
是Spring IOC容器给我们提供的⼀个扩展接⼝
在调⽤初始化⽅法前后对 Bean 进⾏额外加⼯,ApplicationContext 会⾃动扫描实现了BeanPostProcessor的 bean,并注册这些 bean 为后置处理器
是Bean的统⼀前置后置处理⽽不是基于某⼀个bean - 执⾏顺序
- 注意:接⼝重写的两个⽅法不能返回null,如果返回null那么在后续初始化⽅法将报空指针异常或者通过getBean()⽅法获取不到bean实例对象
- 可以注册多个BeanPostProcessor顺序
在Spring机制中可以指定后置处理器调⽤顺序,通过BeanPostProcessor接⼝实现类实现Ordered接⼝getOrder⽅法,该⽅法返回整数,默认值为 0优先级最⾼,值越⼤优先级越低
3.Spring5.X bean⾃动装配Autowire 属性
- 属性注⼊
前⾯学过属性注⼊,set⽅法、构造函数等,属于⼿⼯注⼊
有没办法实现⾃动装配注⼊? - Spring⾃动注⼊
使⽤元素的 autowire 属性为⼀个 bean 定义指定⾃动装配模式
autowire设置值
no:没开启
byName: 根据bean的id名称,注⼊到对应的属性⾥⾯
byType:根据bean需要注⼊的类型,注⼊到对应的属性⾥⾯
如果按照类型注⼊,存在2个以上bean的话会抛异常
expected single matching bean but found 2
constructor: 通过构造函数注⼊,需要这个类型的构造函数