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中,否則也取不到值
轉自:https://blog.csdn.net/yuanwanchao/article/details/79279658
