Spring面试题:(三)SpringBean实例化过程和Spring后置处理器BeanFactoryPostProcessor和BeanPostProcessor

SpringBean实例化过程

在这里插入图片描述
图解
在这里插入图片描述
BeanDefinition
在这里插入图片描述

Spring后处理器:BeanFactoryPostProcessor和BeanPostProcessor

在这里插入图片描述

BeanFactoryPostProcessor接口

在这里插入图片描述

BeanFactoryPostProcessorz子接口BeanDefinitionRegistryPostProcessor

在这里插入图片描述

图解BeanFactoryPostProcessor在Bean实例化过程种的作用

在这里插入图片描述
BeanFactoryPostProcessor使用示例:开发自定义注解,实现注册Bean
在这里插入图片描述

  1. 开发注解接口MyComponent,加入String属性
  2. 继承BeanFactoryPostProcessor类或者BeanDefinitionRegistryPostProcessor类,实现方法
  3. 扫描包下面的所有类,获取有MyComponent注解的类及其参数
  4. 创建BeanDefinition类,注册到BeanDefinitionMap

BeanPostProcessor

在这里插入图片描述

BeanPostProcessor接口定义

在这里插入图片描述

BeanPostProcessor执行时机

实例化
BeanPostProcessor前置方法
init初始化方法
BeanPostProcessor后置方法

BeanPostProcessor使用示例:实现AOP,打印时间

在这里插入图片描述

  1. 继承BeanPostProcessor类,实现两个方法
  2. 在BeanPostProcessor前置方法创建动态代理对象,在invoke方法前后增加打印时间的日志
  3. 返回动态代理对象,进而存储到单例池
    在这里插入图片描述

图解BeanPostProcessor在Bean实例化过程种的作用

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值