具体加载顺序按照罗列的顺序
XXXAware
ApplicationContextAware、EnvironmentAware、BeanFactoryAware、BeanClassLoaderAware
顾名思义,用于获取对应的对象,需要在实体类中声明对应的对象且当前类为普通类能被注入。
InitializingBean
void afterPropertiesSet() throws Exception;
用于进行初始化处理。
之前写过一篇文章
https://blog.csdn.net/zlpzlpzyd/article/details/129340255
BeanFactoryPostProcessor
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
获取对应的 BeanFactory 对象,类似于 ApplicationContextAware,不同的是 ApplicationContext 是高级容器。
BeanPostProcessor
其中的两个方法将所有的 bean 进行匹配,查看对应的 bean 是否符合要求,然后进行后续处理。
default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {return bean;
}default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {return bean;
}
Lifecycle
用于内置容器启动,例如 servlet 容器