spring 基础类详解

1:BeanDefinition

ScannedGenericBeanDefinition:

存储@Component、@Service、@Controller等注解注释的类

AnnotatedGenericBeanDefinition:

存储@Configuration注解注释的类

ConfigurationClassBeanDefinition:

在@Configuration注解的类中,使用@Bean注解实例化的Bean,其定义会用ConfigurationClassBeanDefinition存储

2:Beanfactory

HierarchicalBeanFactory接口:

接口是BeanFactory的扩展,所有要应用到有层级体系的容器类(有父BeanFactory的那种),都应该实现此接口。此接口的getParentBeanFactory方法可以得到此BeanFactory的父BeanFactory,但是设置一个BeanFactory的父BeanFactory的方法却没有在此接口中,而是在ConfigurableBeanFactory中。

ConfigurableBeanFactory接口:

定义BeanFactory的配置.ConfigurableBeanFactory中定义了太多太多的api,比如类加载器,类型转化,属性编辑器,BeanPostProcessor,作用域,bean定义,处理bean依赖关系,合并其他ConfigurableBeanFactory,bean如何销毁

AbstractBeanFactory类:

实现configurableBeanFactory接口,实现基础的组件构件能力

继承FactoryBeanRegistrySupport类,实现扩展注册单例bean factoryBean,获取bean的能力

AbstractAutowireCapableBeanFactory类:

继承AbstractBeanFactory类,继承能力

实现AutowireCapableBeanFactory接口,实现扩展自动装配Bean的能力

DefaultListableBeanFactory类:

继承AbstractAutowireCapableBeanFactory类,继承它的能力

实现ConfigurableListableBeanFactory接口,完成bean加载到容器的所有能力

3:Beanpostprocessor

列举常用的beanpostprocessor,即实现beanpostprocessor的接口的实现

ServletContextAwareProcessor:

是Spring MVC Web应用(不一定要基于Springboot)中应用上下文向bean 设置ServletContext的BeanPostProcessor。

AbstractAdvisingBeanPostPorcessor

自身内置一个 Advisor,检查当前bean是否符合应用该 Advisor 的条件,符合的话将自己的 Advisor 包裹到当前bean(必要的时候为当前bean创建代理对象以便包裹自己的Advisor)

DestructionAwareBeanPostProcessor

在销毁之前,将此BeanPostProcessor应用于给定的bean实例,例如调用自定义销毁回调

DubboConfigDefaultPropertyValueBeanPostProcessor

用于{@link AbstractConfig Dubbo的Config Beans}的默认属性值

BeanValidationPostProcessor

它在Spring托管的bean中检查JSR-303约束注释,并在调用bean的init方法(如果有)之前,在违反约束的情况下抛出初始化异常

InstantiationAwareBeanPostProcessor

实例化bean的处理器。支持在bean实例化前后做一系列操作

BeanPostProcessorChecker

当在BeanPostProcessor实例化期间创建一个bean时,即当一个bean不适合所有BeanPostProcessor处理时,记录一个消息消息的BeanPostProcessor。

ErrorPageRegistrarBeanPostProcessor

在ErrorPageRegistry bean创建时初始化前将容器中的所有ErrorPageRegistrar bean注册进来。

WebServerFactoryCustomizerBeanPostProcessor

WebServerFactory 对象创建完毕后, WebServerFactoryCustomizerBeanPostProcessor 会从 BeanFactory 中查询所有 WebServerFactoryCustomizer 的Bean生成列表、排序,然后逐一调用 WebServerFactoryCustomizer 的 customize 方法。对于自定义springweb容器的bean进行定制化。

ApplicationContextAwareProcessor

将ApplicationContext传递给实现Aware接口的bean

ProjectingArgumentResolverBeanPostProcessor

给RequestMappingHandlerAdapter 注册参数解析器bean

AdvisorAdapterRegistrationManager

其主要的作用为容器中管理的Bean注册一个面向切面编程的通知适配器,以便在Spring容器为所管理的Bean进行面向切面编程时提供方便

DubboConfigAliasPostProcessor

用于使用其设置Dubbo Config bean的别名

DataSourceInitializerPostProcessor

强制立刻初始化datasource

LoadTimeWeaverAwareProcessor

bean设置loadTimeweaver

PropertyMappingCheckBeanPostProcessor

检查@propertymapping注解是否和@component注解同时使用。如果同时使用就报错

ConfigurationPropertiesBindingPostProcessor

在一个Spring Boot应用中,只要使用了注解@EnableConfigurationProperties,就会导致ConfigurationPropertiesBindingPostProcessor被添加到容器。

用于解析bean组件上的注解@ConfigurationProperties,将属性源中的属性设置到bean组件。

MergedBeanDefinitionPostProcessor

合并bean定义的处理

ConfigurationBeanBindingPostProcessor

dubbbobean绑定

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值