属性配置

224 阅读1分钟

这里介绍几种常用的属性配置方式,官方介绍的有17种,想要了解其他的方式,请自行查看官方文档。

1.启动类添加属性


//属性配置
Properties properties = new Properties();
properties.setProperty("slogan","我爱你,亲爱的姑娘");
springApplication.setDefaultProperties(properties);

通过Environment获取属性

@Component
@Order(4)
public class ResultCommandLineRunner implements CommandLineRunner, EnvironmentAware {

    private Environment environment;

    @Override
    public void run(String... args) throws Exception {
        String slogan = environment.getProperty("slogan");
        System.out.println(slogan);
    }

    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }
}

控制台打印结果

image.png

2.配置properties文件或者yml文件

application-default.yml 是默认

注意yml的优先级比properties的要高,在resources目录下创建demo.properties文件,文件内容为:

poster=hello world

启动类添加 @PropertySource({"demo.properties"}) 注解

image.png

通过Environment获取属性

@Component
@Order(4)
public class ResultCommandLineRunner implements CommandLineRunner, EnvironmentAware {

    private Environment environment;

    @Override
    public void run(String... args) throws Exception {
        String slogan = environment.getProperty("slogan");
        System.out.println(slogan);
        String poster = environment.getProperty("poster");
        System.out.println(poster);
    }

    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }
}

控制台打印结果

image.png

配置文件优先级

image.png

上图的四个配置文件的优先级从高到低为:application-default.properties > application-default.yml > application.properties > application.yml