JAR 包介入流程, 在 META-INF/spring.factories 文件中配置
ApplicationContextInitializer
ApplicationListener
EnvironmentPostProcessor
PropertySourceLoader
致力于提高 JAR 包使用体验者,可以介入 FailureAnalyzers 体系
应用介入
介入 BeanDefinition 注册或者魔改流程,只需提供一个实现 BeanDefinitionRegistryPostProcessor 接口的 Bean 即可,如果想提高优先级,可以再补充实现 Ordered 接口。如果只想介入非 FactoryBean 的处理,也可以实现 **MergedBeanDefinitionPostProcessor。**如果想优先级比 SpringBoot 的 ConfigurationClassPostProcessor 还高,可以实现成 ApplicationContextInitializer 或者 ApplicationListener 并实现 PriorityOrdered 接口。
介入 Bean 的生命流程,旨在增强 Bean 功能(如注入 Aware)、提供生命函数、@EventListener 函数
BeanNameAware, BeanClassLoaderAware, BeanClassLoaderAware, EnvironmentAware, EmbeddedValueResolverAware, ResourceLoaderAware, ApplicationEventPublisherAware, MessageSourceAware, ApplicationContextAware
在某个函数方法上注解 @postConstruct