本文基于一个Springboot
+ JPA
+ Web MVC
项目列出了其中用到的所有内置BeanPostProcessor
并给出要点功能介绍以备开发人员参考。具体所使用的配置如下 :
Springboot 2.1.1
Spring Data JPA 2.1.3 RELEASE
Spring Web 5.1.3 RELEASE
Spring Web MVC 5.1.3 RELEASE
BeanPostProcessor类 | 介绍 |
---|---|
o.sf.context.support. ApplicationContextAwareProcessor | 功能:bean 创建时调用bean 所实现的各种Aware 接口方法设置相应的属性 |
o.sf.boot.web.servlet.context. WebApplicationContextServletContextAwareProcessor | 功能:Springboot Servlet Web 应用中bean 创建时调用bean 实现的ServletContextAware 或者ServletConfigAware 接口为bean 设置ServletContext 或者ServletConfig 属性引入时机:在 ServletWebServerApplicationContext #postProcessBeanFactory 中登记到应用上下文 |
o.sf.context.annotation. ConfigurationClassPostProcessor $ImportAwareBeanPostProcessor | TBD |
o.sf.context.support. PostProcessorRegistrationDelegate $BeanPostProcessorChecker | TBD |
o.sf.boot.context.properties. ConfigurationPropertiesBindingPostProcessor | 功能: 绑定配置文件中的配置属性项到配置属性对象, 比如 server 开头的配置项设置到配置属性bean 对象ServerProperties 上 |
o.sf.aop.aspectj.annotation. AnnotationAwareAspectJAutoProxyCreator | 功能: 如果某个bean 匹配了某些定义的切面advise 或者Spring Advisor ,则为这个bean 创建AOP 代理对象 |
o.sf.boot.autoconfigure.jdbc. DataSourceInitializerPostProcessor | 功能: 一旦检测到数据源DataSource bean 被初始化,执行数据源的初始化:创建相应的表格(create schema )和填充相应的数据(init schema ) |
o.sf.validation.beanvalidation. MethodValidationPostProcessor | 功能: 处理bean 中的JSR-303 方法验证注解,创建相应的方法验证AOP advise 关联到符合条件的bean |
o.sf.dao.annotation. PersistenceExceptionTranslationPostProcessor | TBD |
o.sf.boot.web.server. WebServerFactoryCustomizerBeanPostProcessor | TBD |
o.sf.boot.web.server. ErrorPageRegistrarBeanPostProcessor | 功能: 在ErrorPageRegistry bean 创建时初始化前将容器中的所有ErrorPageRegistrar bean 注册进来。 |
o.sf.boot.autoconfigure.orm.jpa. DataSourceInitializedPublisher | TBD |
o.sf.data.web.config. ProjectingArgumentResolverRegistrar $ProjectingArgumentResolverBeanPostProcessor | TBD |
o.sf.orm.jpa.support. PersistenceAnnotationBeanPostProcessor | 功能: 识别bean 上的持久化注解@PersistenceUnit /@PersistenceContext ,并完成相应的属性EntityManagerFactory /EntityManager 注入。 |
o.sf.context.annotation. CommonAnnotationBeanPostProcessor | 功能: 对JSR-250 @Resource 、@PostConstruct 、@PreDestroy 等注解的处理 |
o.sf.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor | 功能: 对每个bean 执行真正的依赖"注入",缺省支持三种自动装配注解@Autowired ,@Value ,JSR-330 @Inject |
o.sf.context.support. ApplicationListenerDetector | 功能: 检测单例ApplicationListener bean 将它们注册到应用上下文的事件多播器上,并在这些bean 销毁之前将它们从事件多播器上移除 |
org.sf.beans.factory.annotation. RequiredAnnotationBeanPostProcessor | 功能: 对 @Required 的处理 |
上表中
o.sf
是org.springframework
的缩写。
相关文章
Spring的各种PostProcessor
Spring各种PostProcessor : BeanDefinitionRegistryPostProcessor
Spring各种PostProcessor : BeanFactoryPostProcessor
Spring各种PostProcessor : BeanPostProcessor