- RootBeanDefinition:Spring在启动时会实例化几个Spring内置的BeanDefinition,这几个Bean Definition都是RootBeanDefinition类型的,包括Spring合并后的BeanDefinition,也是RootBeanDefinition,此外,我们在通过@Bean创建的BeanDefinition也是RootBeanDefinition,不过是属于它的子类。
- GenericBeanDefinition:在Spring应用中,通过注解配置的Bean以及配置类(除@Bean外)的BeanDefinition都是GenericBeanDefinition类型的。它有两个子类,通过@Configuration、@Import注解的Bean会被解析成AnnotatedGenericBeanDefinition,而通过类似于@Service、@Component注解的Bean则会被解析成ScannedGenericBeanDefinition。