Spring中的IOC容器(学习笔记)
如何将Bean配置到Spring的Bean容器中
通过xml配置文件:
Bean实现类来自第三方类库:如“DataSource”等
需要命名空间配置如:context,aop,mvc等
通过注解自动装配
项目中自身开发的类,可直接方便的直接在代码中使用注解:@Serveice @Contorller等
@Configuration实现在java类中配置
需要通过代码控制控制对象创建逻辑的场景:如自定义修改依赖类库
Bean的作用域
Bean的生命周期
在Bean的生命周期中,Spring可以设置在Bean初始化之后以及在销毁之前要执行的方法。
主要设置方式有以下几种:
- 通过实现InitializingBean/DisposableBean 接口并重写afterPropertiesSet()/destroy()方法;
- 通过<bean> 标签的 init-method/destroy-method属性指定;
- 通过在指定方法上加@PostConstruct或@PreDestroy注解来指定;
- 通过<beans>标签的 default-init-method和default-destroy-method属性指定;
几种方法的优先级:
Constructor > @PostConstruct >InitializingBean > init-method
@PreDestroy > DisposableBean > destroy-method
(ps: 1.如果用init-method/destroy-method指定方法,则该方法在类中必须存在,否则Bean会加载失败
2.default-init-method和default-destroy-method属性指定的方法在类中可以不存在,同时当其他初始化或销毁方式生效的时候,盖默认设置不生效
)
Resources&ResourceLoader