作用:对configuration class的一些处理,主要就是判断一个bean是不是configuration class
方法:checkConfigurationClassCandidate
作用:判断是否是configuration class,如果isFullConfigurationClass或者isLiteConfigurationClass,那么就是configuration class
方法:isFullConfigurationClass
作用:判断是否是full configuration,带有@Configuration注解的类,那么这个类叫做full configuration,需要注意的是,该方法中并不直接判断是否带有Configuration注解,而是判断bean.getAttribute是否标记为FULL,也就是说,直接使用一个bean是无法判断具体是不是full configuration,所以,应该在bean实例化之后,调用bean.setAttribute标记是否为full,具体操作是在ConfigurationClassPostProcessor的postProcessBeanDefinitionRegistry方法进行的
方法:isLiteConfigurationClass
作用:判断是否是lite configuration,带@Component,@ComponentScan,@Import,@ImportResource,@Bean 5个注解中的任一个,那么这个类叫做lite configuration,需要注意的是判断方式同上一个自然段
原文链接:https://blog.csdn.net/u011624903/article/details/102564491