导入配置
Spring Boot项目建议通过@SpringBootApplication注解标记启动类,而此时SpringBoot项目会在启动时扫描Application.class所在包(定义为root包)及其子包下的注解,如@Service、@Configuration、@Controller等。
但是有时候我们的配置文件类不在root包下,可能在别的依赖包中,这个时候需要用@Import注解来导入配置类。
而用xml配置的配置文件需要用@ImportResource来导入。
@Import
Indicates one or more {@link Configuration @Configuration} classes to import.
导入被@Configuration标记的类
@ImportResource
Indicates one or more resources containing bean definitions to import.
要导入的资源文件包含Bean定义,一般用来导入配置文件
导入属性
SpringBoot项目会在启动的时候将application.yml(application.properties)和状态为active的profile加载至Environment中,其他的属性文件需要我们自己导入。
@PropertySource
添加PropertySource到Spring的Environment中
当有两个属性文件且这两个文件中有key相同的key/value通过@PropertySource注册时,最后注册的文件中的key/value会覆盖前面注册的。
@ConfigurationProperties
通过PropertySource导入属性文件,通过ConfigurationProperties设置prefix后直接通过spel访问value