条件判断
- 通过 BeanPostProcessor
- 针对 Bean 实例
- 在 Bean 创建后提供定制逻辑回调
- 通过 BeanFactoryPostProcessor 进行判断
- 针对 Bean 定义
- 在容器创建 Bean 前获取配置元数据
- java Config 中需要定义为 static 方法
配置加载
- 编写 java Config 类
- 引入配置类
- 通过 component- scan
- 通过 xml 文件 import
生命周期 Lifecycle Callback
创建时
- InitializingBean 接口/ @PostConstruct 注解 / init-method xml
销毁时 - DisposableBean / @PreDestroy / destroy-method
XxxAware 接口
- ApplicationContextAware
- BeanFactoryAware
- BeanNameAware
判断类是否存在
- ClassUtils.isPresent()
判断Bean 是否已定义
ListableBeanFactory.ContainsBeanDefinition()
ListableBeanFactory.getBeanNamesForType()