springboot 使用yml配置文件自定义属性的操作代码
作者:yuanwanchao
在SpringBoot中yml/yaml文件可以自定义一些属性,以供注入给自定义bean对象的属性,主要通过空格和层次来实现,类似于python代码,本文通过实例代码给大家介绍springboot 使用yml配置文件自定义属性,感兴趣的朋友跟随小编一起看看吧
springboot 使用yml配置文件自定义属性
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中,否则也取不到值
扩展:
SpringBoot-属性配置yaml自定义属性和值
SpringBoot-属性配置yaml自定义属性和值
在SpringBoot中yml/yaml文件可以自定义一些属性,以供注入给自定义bean对象的属性。主要通过空格和层次来实现,类似于python代码。
以下是一个Person类的yml文件:
person: name: rayfoo sex: man age: 18 hobby: 1,2,3 listPro: - val1 - val2 - val3 listMapPro: - key1: val1 key2: val2 - key1: val1 key2: val2 car: id: 01 color: red price: 199999.99
下面是该类的Java代码:
packagecn.rayfoo.bean; importlombok.Data; importorg.springframework.boot.context.properties.ConfigurationProperties; importjava.util.List; importjava.util.Map; /** * @author 张瑞丰 * @description * @date 2019/11/8 */ @Data @ConfigurationProperties(prefix="person") publicclassPerson{ privateStringname; privateStringsex; privateIntegerage; privateString[] hobby; privateList<String>listPro; privateList<Map<String,Object>>listMapPro; privateCarcar; }
下面是其关联的car类
packagecn.rayfoo.bean; importlombok.Data; /** * @author 张瑞丰 * @description * @date 2019/11/8 */ @Data publicclassCar{ privateIntegerid; privateStringcolor; privateDoubleprice; }
到此这篇关于springboot 使用yml配置文件自定义属性的文章就介绍到这了,更多相关springboot 配置文件自定义属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!