在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值:

1、引入依赖:
<!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
2、配置文件(application.yml)中配置各个属性的值:
myProps: #自定义的属性和值 simpleProp: simplePropValue arrayProps: 1,2,3,4,5 listProp1: - name: abc value: abcValue - name: efg value: efgValue listProp2: - config2Value1 - config2Vavlue2 mapProps: key1: value1 key2: value2
3、创建一个bean来接收配置信息:
@Component
@ConfigurationProperties(prefix="myProps") //接收application.yml中的myProps下面的属性
public class MyProps {
private String simpleProp;
private String[] arrayProps;
private List<Map<String, String>> listProp1 = new ArrayList<>(); //接收prop1里面的属性值
private List<String> listProp2 = new ArrayList<>(); //接收prop2里面的属性值
private Map<String, String> mapProps = new HashMap<>(); //接收prop1里面的属性值
public String getSimpleProp() {
return simpleProp;
}
//String类型的一定需要setter来接收属性值;maps, collections, 和 arrays 不需要
public void setSimpleProp(String simpleProp) {
this.simpleProp = simpleProp;
}
public List<Map<String, String>> getListProp1() {
return listProp1;
}
public List<String> getListProp2() {
return listProp2;
}
public String[] getArrayProps() {
return arrayProps;
}
public void setArrayProps(String[] arrayProps) {
this.arrayProps = arrayProps;
}
public Map<String, String> getMapProps() {
return mapProps;
}
public void setMapProps(Map<String, String> mapProps) {
this.mapProps = mapProps;
}
}
启动后,这个bean里面的属性就会自动接收配置的值了。
4、单元测试用例:
@Autowired
private MyProps myProps;
@Test
public void propsTest() throws JsonProcessingException {
System.out.println("simpleProp: " + myProps.getSimpleProp());
System.out.println("arrayProps: " + objectMapper.writeValueAsString(myProps.getArrayProps()));
System.out.println("listProp1: " + objectMapper.writeValueAsString(myProps.getListProp1()));
System.out.println("listProp2: " + objectMapper.writeValueAsString(myProps.getListProp2()));
System.out.println("mapProps: " + objectMapper.writeValueAsString(myProps.getMapProps()));
}
测试结果:
simpleProp: simplePropValue
arrayProps: ["1","2","3","4","5"]
listProp1: [{"name":"abc","value":"abcValue"},{"name":"efg","value":"efgValue"}]
listProp2: ["config2Value1","config2Vavlue2"]
mapProps: {"key1":"value1","key2":"value2"}
源代码参考:https://github.com/xujijun/my-spring-boot
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# spring
# boot
# yml配置
# yml文件
# 加载yml
# 在SpringBoot下读取自定义properties配置文件的方法
# Spring Boot 日志配置方法(超详细)
# SpringBoot + Spring Security 基本使用及个性化登录配置详解
# 详解SpringBoot配置连接池
# SpringBoot获取yml和properties配置文件的内容
# spring boot Logging的配置以及使用详解
# spring boot的maven配置依赖详解
# spring boot开发遇到坑之spring-boot-starter-web配置文件使用教程
# Springboot配置doris连接的实现示例
# 配置文件
# 就会
# 不需要
# 自定义
# 几步
# 创建一个
# 源代码
# 大家多多
# 单元测试
# 各种不同类型
# abc
# efg
# abcValue
# myProps
# simpleProp
# arrayProps
# simplePropValue
# configuration
# mapProps
相关文章:
免费ppt制作网站,有没有值得推荐的免费PPT网站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
如何确保FTP站点访问权限与数据传输安全?
如何高效完成自助建站业务培训?
大同网页,大同瑞慈医院官网?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何在云服务器上快速搭建个人网站?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何在阿里云购买域名并搭建网站?
如何获取上海专业网站定制建站电话?
建站之星如何实现五合一智能建站与营销推广?
如何快速查询网址的建站时间与历史轨迹?
网站制作的步骤包括,正确网址格式怎么写?
C#如何使用XPathNavigator高效查询XML
如何批量查询域名的建站时间记录?
如何用wdcp快速搭建高效网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
实例解析Array和String方法
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
详解jQuery停止动画——stop()方法的使用
招贴海报怎么做,什么是海报招贴?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
简历在线制作网站免费版,如何创建个人简历?
建站之星如何保障用户数据免受黑客入侵?
微信小程序 五星评分(包括半颗星评分)实例代码
网站制作模板下载什么软件,ppt模板免费下载网站?
建站主机功能解析:服务器选择与快速搭建指南
建站之星Pro快速搭建教程:模板选择与功能配置指南
学校建站服务器如何选型才能满足性能需求?
如何在阿里云通过域名搭建网站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
广德云建站网站建设方案与建站流程优化指南
微信推文制作网站有哪些,怎么做微信推文,急?
建站之星安装后界面空白如何解决?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何通过远程VPS快速搭建个人网站?
微信小程序 input输入框控件详解及实例(多种示例)
建站之星安全性能如何?防护体系能否抵御黑客入侵?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何在阿里云域名上完成建站全流程?
如何快速查询域名建站关键信息?
网站制作话术技巧,网站推广做的好怎么话术?
网站制作新手教程,新手建设一个网站需要注意些什么?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
香港服务器如何优化才能显著提升网站加载速度?
*请认真填写需求信息,我们会在24小时内与您取得联系。