Spring Boot 的配置加载顺序

2015/9/26 posted in  Spring Boot comments

配置的加载

Spring Boot 可以从 properties 文件、YAML 文件、环境变量和命令行参数获取配置。默认 SpringApplication 将从如下位置加载 application.propertiesapplication.yml 文件作为配置。

  1. java -jar project.jar --spring.config.location=/path/to/application.yml
  2. ......
  3. A /config subdir of the current directory(application.properties or application.yml
  4. The current directory(application.properties or application.yml
  5. A classpath /config package(application.properties or application.yml
  6. The classpath root(application.properties or application.yml
  7. @PropertySource 或者 @PropertySources annotations on your @Configuration classes
  8. Default properties (specified using SpringApplication.setDefaultProperties)

根据配置加载的顺序,前面的配置将会覆盖后面的配置项。常见的配置

配置的使用

  1. 使用 @Value("${property}") 注解单个配置项的值

    @Value("${user.name}")
    private Strin username;
    
  2. 使用 @ConfigurationProperties(prefix="user") 注解类型安全的多个配置项

    @Component
    @ConfigurationProperties(prefix="user")
    public class UserSettings {
    private String name;
    private int age;
    // ... getters and setters
    }