Spring的后置处理器BeanPostProcessor

BeanPostProcessor接口的做用:spring

若是咱们须要在Spring容器完成Bean的实例化先后添加一些逻辑处理,就定义一个或者多个BeanPostProcessor接口的实现,而后注册到容器中去。设计

接口的设计就两个方法实例化以前和以后处理,能够根据须要进行相应的处理日志

好比咱们能够实现一下这个接口,这里我就想处理一下实现AccountRepository接口的,这里instanceof关键字通常咱们用于类,也能够用于接口xml

 

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

日志输出:继承

固然这里实现的BeanPostProcessor能够实现多个的,还能够继承Order接口来实现处理顺序!接口

咱们还能够试试懒加载,在使用的类上加上@Lazy注解,这样在启动的时候是不会初始化的开发

之前咱们用spring的时候,喜欢把配置写在xml文件中,而后使用ClassPathXmlApplicationContext,FileSystemXmlApplicationContext,FileSystemResource等,可是如今的开发方式就是简化了这些配置,都使用注解,因此这里用AppConfigit

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

未完待续!

相关文章
相关标签/搜索