BeanPostProcessor接口的做用:spring
若是咱们须要在Spring容器完成Bean的实例化先后添加一些逻辑处理,就定义一个或者多个BeanPostProcessor接口的实现,而后注册到容器中去。设计
接口的设计就两个方法实例化以前和以后处理,能够根据须要进行相应的处理日志
好比咱们能够实现一下这个接口,这里我就想处理一下实现AccountRepository接口的,这里instanceof关键字通常咱们用于类,也能够用于接口xml
这里为了展示初始化先后的逻辑,在AccountRepository实现中加入@PostConstruct注解,在初始化调用构造方法后执行blog
日志输出:继承
固然这里实现的BeanPostProcessor能够实现多个的,还能够继承Order接口来实现处理顺序!接口
咱们还能够试试懒加载,在使用的类上加上@Lazy注解,这样在启动的时候是不会初始化的开发
之前咱们用spring的时候,喜欢把配置写在xml文件中,而后使用ClassPathXmlApplicationContext,FileSystemXmlApplicationContext,FileSystemResource等,可是如今的开发方式就是简化了这些配置,都使用注解,因此这里用AppConfigit
而后咱们在获取配置的时候,使用的是AnnotationConfigApplicationContext,继承GenericApplicationContext这个通用应用上下文,这个后续好好看代码再写把。io
未完待续!