目录

springboot配置读取.md

李羽秋
李羽秋 2022年01月26日  ·  阅读 948

springboot配置读取

在日常开发中,我们若想读取application.properties的值,我们该如何做呢?

1.方式一

我们通过Environment的方式进行读取配置文件的值

@RestController
public class TestController {
    @Autowired
    private Environment env;

    @GetMapping("/getInfo")
    public String getInfo(){
        String property = env.getProperty("server.port");
        return property;
    }
}

2.方式二

通过@Value注解的方式读取

 @Value("${server.port}")
    private String port;
    @GetMapping("/test2")
    public String getInfo2(){
        return port;
    }

3.方式三

当我们在工作中做某些需求时,不得不自定义配置文件,我们可以使用spring提供的PropertiesFactoryBean去读取

首先我们在classpath下创建config.properties,内容如下

config.ip=192.168.1.1
config.port=8080
@ConfigurationProperties(locations = "classpath:config.properties", prefix = "config")
@Component
public class Config {
    @NotEmpty
    private String ip;
    private int port;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public int getPort() {
        return port;
    }
    public void setPort(int port) {
        this.port = port;
    }
}
  • @ConfigurationProperties中的locations用来指定你配置文件所在的路径
  • @ConfigurationProperties中的prefix用来指定你配置名称的前缀,如config.ip, config就是你上面定义的前缀
  • 这边在ip字段上还加了个@NotEmpty注解来防止忘记配置值了,如果你没配置ip的值,那么在启动的程序的时候框架将提示你

原文转载:http://cxytiandi.com/blog/detail/2783

分类:
标签: