ConfigurationClassPostProcessor
1、遍历BeanDefinitions,查找出ConfigBeanDefinition,
2、调用ConfigurationClassParser#parse方法,解析BeanDefinition
解析InnerClass
解析@PropertySource,先解析为Priperties,封装为PripertySource对象,加入到environment中
解析@ComponentScan,利用ClassPathBeanDefintionScanner扫描BeanDefinition
解析@Import注解,导入普通类,ImportSelector和ImportBeanDefinitionRegistrar,ImportSelector返回字符串数据,ImportBeanDefinitionRegistrar直接注册类
解析@ImportResource注解,利用ConfigurationClassBeanDefinitionReader解析Bean定义
解析@Bean 会解析为BeanMethod

PropertyPlaceholderConfigurer、PropertySourcesPlaceholderConfigurer
1、该类实际上是一个BeanFactoryPostProcessor
2、在spring初始化的过程中,会调用postProcessBeanFactory方法,来解析配置文件,

 并遍历BeanDefinition给${}的变量赋值
 封装为PlaceholderResolvingStringValueResolver对象,包含上面解析的配置文件
 加入到embededValueResouver中


一只鱼
49 声望1 粉丝