BeanDefinition
用来描述一个Bean,Spring会根据BeanDefinition来生成一个Bean,我们可以修改其中的属性来干预对象的生成。
BeanFactory
表示Bean工厂 ,常用的有DefaultListableBeanFactory以及AnnotationConfigApplicationContext等。
BeanFactory为Spring管理Bean提供了一套通用的规范。可以通过BeanFactory获得Bean。
FactoryBean
自己也是一个Bean,可以通过定义FactoryBean中的getObject()方法来创建生成过程比较复杂的Bean。
BeanFactoryPostProcessor
BeanFactory后置处理器可以得到BeanFactory中的BD并对它进行处理,比如修改它其中的某个BeanDefinition。
BeanDefinitionRegistryPostProcessor
继承了BeanFactoryPostProcessor,增强点能向BeanFactory中添加自定义的BeanDefinition
Import
是一个注解,用来向Spring容器中导入Bean的;
可以导入三种类型,普通类,ImportSelect类型的类和ImportBeanDefinitionRegistrar类型的类;
相对于直接使用注解向BeanFactory添加BD,Import更加灵活。
比如如果我们期望我们的上下文环境中redis的相关类我们才向BeanFactory注入某个特定的对象。