Spring中的可扩展接口

1.监听器Listener(点此连接,执行流程带源码分析及demo)

2.bean定义的后置处理器(BeanDefinitionRegistryPostProcessor)和bean工厂的后置处理器(BeanFactoryPostProcessor):详见Spring IOC(2)----如何注册bean定义(点此连接,带源码分析)的第9点和10点

3.Aware接口:主要用于给对象注入某个属性的值。下层有多个扩展接口

  BeanNameAware 实现setBeanName()方法,注入该bean在容器的name

  ApplicationContextAware 实现setApplicationContext() 可以为bean注入上下文对象ApplicationContext

  BeanFactoryAware 实现setBeanFactory(),可以注入容器工厂

  BeanClassLoaderAware 注入类加载器

4.BeanPostProcessor:bean的后置处理器,初始化前后调用,有前后两个方法postProcessBeforeInitialization,postProcessAfterInitialization

5.InitializingBean:实现afterPropertiesSet()方法

看下spring IOC源码中这三个接口调用顺序AbstractAutowireCapableBeanFactory#initializeBean()中:

 

 

这里的Aware接口只会调用这三种:

 

 

 

------------------------------

eureka整合进spring是通过lifecycle接口

nacos整合进spring是通过applicationListener接口

ribbon是通过拦截器

feign和mybatis一样都是通过factorybean

 

posted @ 2020-02-22 17:21  白露非霜  阅读(1374)  评论(0编辑  收藏  举报
访问量