Spring @PropertySource && @Import && ConfigurationClassPostProcessor

1. @PropertySource  加载指定的属性文件(*.properties)到 Spring 的 Environment 中。

2. @Import 的作用

在@Configuration标注的Class上可以使用@Import引入其它的配置类,import的配置类都会被加到Context中,

@Import 还可以引入org.springframework.context.annotation.ImportSelector实现类。ImportSelector接口只定义了一个selectImports(),用于指定需要注册为bean的Class名称。当在@Configuration标注的Class上使用@Import引入了一个ImportSelector实现类后,会把实现类中返回的Class名称都定义为bean。
refert to :Spring(32)——ImportSelector介绍_Elim的博客-CSDN博客_importselector

3. 将一个Class加入Spring上下文的方式

1). XML中定义Bean

2). @Configuration类定义一个配置文件,在其中定义Bean

Spring @PropertySource && @Import && ConfigurationClassPostProcessor

 

 3). @Configuration加到类上后,使用import 引入直接引入类

Spring @PropertySource && @Import && ConfigurationClassPostProcessor

 

  4)@Configuration加到类上后,使用import 引入直接引入ImportSelector 实现类

Spring @PropertySource && @Import && ConfigurationClassPostProcessor

 

 5)Class上定放@Bean @Component

4.ConfigurationClassPostProcessor

BeanFactory 后置处理器之ConfigurationClassPostProcessor, 解析BeanFactory中的BeanDefinitionNames中所有包括 @Configuration @Bean @Components @ComponentScan @Import @PropertySouce的类,并根据这些配置产生相关的BeanDeinination,添加到BeanDefinitionMap中

ConfigurationClassPostProcessor —— Spring中最!最!最!重要的后置处理器!没有之一!!!_天堂的博客-CSDN博客

 

上一篇:配置中心将配置写入spring环境


下一篇:linux修改静态ip