- BeanDefinition:用于描述spring bean的配置信息,通常有三种。xml配置文件、java注解,例如@Service @Component、java config方式。
- BeanDefinitionRegistry:beanDefinition容器,所有的bean配置解析后生成的BeanDefinition对象都会注册到BeanDefinitionRegistry对象中。Spring提供了扩展机制,允许用户在Spring框架启动时,动态地往BeanDefinitionRegistry容器中注册BeanDefinition对象。
- BeanFactory:spring的bean工厂,负责bean的创建及属性注入。同时是一个bean容器,spring框架启动后,会根据beanDefinition对象创建bean实例,所有的单例bean都会注册到BeanFactory容器中。
- BeanFactoryPostProcessor:spring提供的扩展机制,用于在所有的bean配置信息解析完成后修改bean工厂的信息。例如,向BeanDefinitionRegistry容器中增加额外的BeanDefinition对象,或修改原有的BeanDefinition对象。
- ImportBeanDefinitionRegistrar:一个接口,该接口的实现类作用于spring解析bean的配置阶段,当解析@Configuration注解时,可以通过该接口的实现类向BeanDefinitionRegistry容器中添加额外的beanDefinition对象。
- BeanPostProcessor:bean的后置处理器,在bean的初始化方法(init-method属性指定的方法或afterPropertiesSet()方法)调用前后,会执行BeanPostProcessor中定义的拦截逻辑。通常用于处理spring bean对应的java类中的注解信息或创建Bean的代理对象。
- ClassPathBeanDefinitionScanner:beanDefinition扫描器,能够对指定包下的class进行扫描,将class信息转换为beanDefinition对象注册到beanDefinitionRegistry容器中。
- FactoryBean:spring中的工厂bean,通常用于处理spring中配置较为复杂或者由动态代理生成的bean实例。
spring中的一些概念
最新推荐文章于 2024-10-03 16:20:04 发布