SpringBean实例化过程
图解
BeanDefinition
Spring后处理器:BeanFactoryPostProcessor和BeanPostProcessor
BeanFactoryPostProcessor接口
BeanFactoryPostProcessorz子接口BeanDefinitionRegistryPostProcessor
图解BeanFactoryPostProcessor在Bean实例化过程种的作用
BeanFactoryPostProcessor使用示例:开发自定义注解,实现注册Bean
- 开发注解接口MyComponent,加入String属性
- 继承BeanFactoryPostProcessor类或者BeanDefinitionRegistryPostProcessor类,实现方法
- 扫描包下面的所有类,获取有MyComponent注解的类及其参数
- 创建BeanDefinition类,注册到BeanDefinitionMap
BeanPostProcessor
BeanPostProcessor接口定义
BeanPostProcessor执行时机
实例化
BeanPostProcessor前置方法
init初始化方法
BeanPostProcessor后置方法
BeanPostProcessor使用示例:实现AOP,打印时间
- 继承BeanPostProcessor类,实现两个方法
- 在BeanPostProcessor前置方法创建动态代理对象,在invoke方法前后增加打印时间的日志
- 返回动态代理对象,进而存储到单例池