Spring的后置处理器BeanPostProcessor

BeanPostProcessor接口的作用:

如果我们需要在Spring容器完成Bean的实例化前后添加一些逻辑处理,就定义一个或者多个BeanPostProcessor接口的实现,然后注册到容器中去。

接口的设计就两个方法实例化之前和之后处理,可以根据需要进行相应的处理

71b8368dfb4110e3ed265f9479becbee25c.jpg

比如我们可以实现一下这个接口,这里我就想处理一下实现AccountRepository接口的,这里instanceof关键字一般我们用于类,也可以用于接口

 93b98eb7a54bc9308e35707686ee868462d.jpg

这里为了展现初始化前后的逻辑,在AccountRepository实现中加入@PostConstruct注解,在初始化调用构造方法后执行

c31eb3a1cc9f6904ca0f97487bb8df5bd44.jpg

日志输出:

f8adcf9355fffcaa4209605fe3946165dfb.jpg

当然这里实现的BeanPostProcessor可以实现多个的,还可以继承Order接口来实现处理顺序!

我们还可以试试懒加载,在使用的类上加上@Lazy注解,这样在启动的时候是不会初始化的

193d2f09fd5a2b2f91de381cc53a9efb309.jpg

以前我们用spring的时候,喜欢把配置写在xml文件中,然后使用ClassPathXmlApplicationContext,FileSystemXmlApplicationContext,FileSystemResource等,但是现在的开发方式就是简化了这些配置,都使用注解,所以这里用AppConfig

079743e7bbc27021045b86fe04d1f758086.jpg

然后我们在获取配置的时候,使用的是AnnotationConfigApplicationContext,继承GenericApplicationContext这个通用应用上下文,这个后续好好看代码再写把。

118b3192d71aca0691e6bb00c4c2c7721d5.jpg

未完待续!

转载于:https://my.oschina.net/u/2277632/blog/3046229

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值