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中,否则也取不到值