springboot 中在application.yml文件里自定义属性值,配合@Value注解可以在代码中直接取到相应的值,如在application.yml中添加

mqtt:
   serverURI: tcp://192.168.125.250:1939
 topic:
@Value("${mqtt.topic}")
private String topic ;
@Value("${mqtt.serverURI}")
private String serverURI ;

取到相应的值;

如果java代码里的属性值是静态的,用上面的方式获取不到值,要使用set方法,如:

private  static String username ;
 private  static String password ;
 @Value("${yunfei.username}")
 public void setUsername(String username) {
     HttpCilent.username = username;
 }
 @Value("${yunfei.password}")
 public void setPassword(String password) {
     HttpCilent.password = password;
 }

set方法不能是静态的,否则取不到值。
ps:@Value 注解包是
org.springframework.beans.factory.annotation.Value;
要取属性值的对象必须注入到spring中,否则也取不到值