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 配置文件自定义属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解springboot采用多数据源对JdbcTemplate配置的方法
在本篇文章中我们给大家详细分享了springboot采用多数据源对JdbcTemplate配置的方法,有需要的朋友们可以学习参考下。2018-10-10Java如何利用状态模式(state pattern)替代if else
这篇文章主要给大家介绍了关于Java如何利用状态模式(state pattern)替代if else的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11
最新评论