springboot如何读取配置文件(application.yml)中的属性值

发布时间 - 2026-01-11 00:38:19    点击率:

在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 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何在建站之星绑定自定义域名?  浅谈javascript alert和confirm的美化  三星网站视频制作教程下载,三星w23网页如何全屏?  北京网站制作公司哪家好一点,北京租房网站有哪些?  高防服务器租用指南:配置选择与快速部署攻略  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  linux top下的 minerd 木马清除方法  详解vue.js组件化开发实践  lovemo网页版地址 lovemo官网手机登录  Laravel中的Facade(门面)到底是什么原理  如何在万网自助建站平台快速创建网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  再谈Python中的字符串与字符编码(推荐)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  🚀拖拽式CMS建站能否实现高效与个性化并存?  如何快速搭建个人网站并优化SEO?  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何记录自定义日志?(Log频道配置)  如何快速搭建高效服务器建站系统?  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel如何实现本地化和多语言支持?(i18n教程)  如何在阿里云虚拟主机上快速搭建个人网站?  如何在IIS管理器中快速创建并配置网站?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  canvas 画布在主流浏览器中的尺寸限制详细介绍  如何在建站之星网店版论坛获取技术支持?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  如何快速使用云服务器搭建个人网站?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何快速上传建站程序避免常见错误?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  详解Oracle修改字段类型方法总结  Linux网络带宽限制_tc配置实践解析【教程】  北京专业网站制作设计师招聘,北京白云观官方网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何在 React 中条件性地遍历数组并渲染元素  青岛网站建设如何选择本地服务器?  Android实现代码画虚线边框背景效果  网站制作报价单模板图片,小松挖机官方网站报价?  如何在香港服务器上快速搭建免备案网站?