1.SpringIOC的refresh源码解析
核心:
核心使用的是:
需要完成配置类的解析,各种BeanFactoryProcessor的注册。还有写国际化配置的初始化。Web容器的内部构造。
上面几个方法是refresh方法的内容。注意可以与applicationContext里的内容一起记忆。
Springboot框架还会将一些方法设置为空,便于开发者根据不同需求进行相应的开发。
2.SpringIOC的getBean 方法的解析
singleton适合无状态的Bean.prototype适合有状态的bean.如果是web容器,则支持其他三种。
BeanPostprocessor主要作用是在Spring完成实例化Bean之后,对Spring容器实例化的Bean添加一些自定义的处理逻辑。
定制的Bean init方法:做一些初始化相关的工作。
BeanPostprocessor的后置方法:POSTProcessAfterInitialization方法;做一些Bean实例初始化之后自定义工作。跟AOP相关。
Bean初始化完成。
全面的Bean的生命周期: