在之前的工作中遇到这样一个问题, 就是在application.yml配置文件中写一些对象集合的数据(当时不让把数据写在数据库中)然后获取他们, 尝试了很多方式都无果, 最终找到了解决的办法, 特此记录一下。

  1. yml中配置好数据:
server:port: 17171test:polices:- {depart_id: 390307000000,depart_name: xxx公安局1,areacode: 390307,fid: 390307000000}- {depart_id: 390307000001,depart_name: xxx公安局2,areacode: 390307,fid: 390307000000}- {depart_id: 390307000002,depart_name: xxx公安局3,areacode: 390307,fid: 390308000000}- {depart_id: 390307000003,depart_name: xxx公安局4,areacode: 390307,fid: 390308000000}
  1. 写配置文件中对应的类:
package com.itstone.mok.config;import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;/*** yml对应的类** @author tianlei*/
@Configuration
@ConfigurationProperties(prefix = "test")
public class PoliceConfig {/*** 这里的变量名polices要和yml中的对应字段名称(test.polices)一致!*/private static List<Police> polices = new ArrayList<>();/*** 注意此处有static关键字!** @return*/public static List<Police> getPolices() {return polices;}/*** 注意此处没有static关键字!** @param polices*/public void setPolices(List<Police> polices) {PoliceConfig.polices = polices;}/*** 基础公安局信息, 属性名要与配置文件中的对应好!* 注意: 该类要使用static关键字修饰, 否则会报错。*/@Datapublic static class Police {/*** 部门id*/private Long depart_id;/*** 部门名称*/private String depart_name;/*** 区域编码*/private String area_code;/*** 父级id*/private Long fid;}}
  1. 写Controller访问测试:
package com.itstone.mok.controller;import cn.hutool.core.util.ObjectUtil;
import com.itstone.mok.config.PoliceConfig;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;@RestController
public class PoliceController {/*** 获取指定公安局的area_code** @param departId* @return*/@GetMapping("/test")public String getAreaCode(Long departId) {// 获取该数组对象List<PoliceConfig.Police> list = PoliceConfig.getPolices();// 遍历打印for (PoliceConfig.Police police : list) {if (ObjectUtil.equal(departId, police.getDepart_id())) {return police.getArea_code();}}return "无对应数据";}}
接下来做测试: localhost:17171/test?departId=390307000000, 返回390307, 测试成功!

获取application.yml配置文件中配置的对象集合相关推荐

  1. 获取application.yml文件中配置参数的两个方法

    application.yml文件内容 第一种(适用于获取少量配置参数): @Value("${man.name}") private String name; 第二种(适用于获取 ...

  2. 【springboot】application.yml配置文件中数据库密码password加密后显示

    转载自:https://blog.csdn.net/linjingke32/article/details/81329614 如果使用@SpringBootApplication注解启动的项目,只需增 ...

  3. SpringBoot - application.yml配置文件中yes/no,on/off在代码中读取的值为true/false

    写在前面 在SpringBoot的项目中,当在配置文件中配置的值为yes/no或者on/off时,在SpringBoot内部解析时会将yes/no,on/off解析为true/false. 参数配置 ...

  4. springboot在yml配置文件中配置类的属性笔记

    首先建立一个简单的实体类,我这里以学生为例,并加上@Component和@ConfigurationProperties(prefix ="student")注解,其中prefix ...

  5. Spring Boot——Druid在application.yml文件中配置【spring.datasource.druid.aop-patterns】无效解决方案

    问题描述 在使用aop-patterns配置的时候发现Spring监控无效 Druid版本:1.1.22 如果SpringBoot的配置使用的是properties文件,该配置正常. 如果使用yml作 ...

  6. 获取application.yml中的属性的方法

    @ConfigurationProperties(prefix = "girl") 获取application.yml 中的以girl为开头的配置属性 引用配置文件里的数据 @Va ...

  7. SpringBoot、SpringCloud读取bootstrap.yml或者application.properties配置文件中的参数

    问题还原: 在做项目时,需要配置所上传Excel文件的存储路径,用于将Excel文件存储到所配置的路径下.此路径可以写死到代码里,但是不方便:也可存到数据库表中,但是麻烦:我们一般都是配置到boots ...

  8. springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值

    SpringBoot现在基本上都是使用application-XXX.yml(生产环境为pro,开发测试环境为dev)来配置项目中的一些配置条件,在springboot中还可以通过从yml文件中将ym ...

  9. yml读取环境变量_读取yml配置文件中的值

    1.yml文件 person: lastName: hello age:18boss:falsebirth:2017/12/12maps: {k1: v1,k2:12} lists:-lisi-zha ...

最新文章

  1. 2012 MUTC 7 总结
  2. [转载] 人类智能PK人工智能——06 计算智能
  3. 微信小程序学习笔记(4)--------框架之逻辑层
  4. 【转】在SQL Server中创建用户角色及授权(使用SQL语句)
  5. java 兔子生仔问题
  6. 获取某个地址的utxo的三种方法
  7. 编译安装php7.3
  8. h5物体拖动_html5实现拖拽效果
  9. VS下Qt4.8.4安装
  10. 结合html5+_基于 HTML5 结合互联网+的电力接线图
  11. linux系统优化步骤,Linux系统优化的步骤有哪些
  12. cmake相关:sudo make install后的卸载
  13. NI Vision 开发环境
  14. 二、Json对象、Json数组和Json字符串
  15. 微信支付(小程序)-商户号配置与小程序配置
  16. 7-22 验证手机号
  17. 《安富莱嵌入式周报》第283期:全开源逆向“爆破”硬件工具,Linux内核6.1将正式引入RUST语言,I3C培训教程,80款市场成熟的电感式位置传感器设计
  18. Beetl开源那些事3
  19. ildasm + ilasm + ilmerge 小试牛刀
  20. On the Use of BERT for Automated Essay Scoring: Joint Learning of Multi-Scale Essay Representation学习

热门文章

  1. EA、Edraw如何导出更清晰的图片?
  2. WinCE6.0HIVE注册表
  3. 优秀的内部知识库对企业的重要性
  4. Windows Live Writer插件
  5. SylixOS ICAN 协议移植笔记
  6. QBC CriteriaQuery用法
  7. 系统篇: uboot 启动流程
  8. 快递员拍身份证照片,谁来保证信息安全?
  9. UVA 1589 Xiangqi——模拟
  10. 【PostGreSql】SQL中只要用到聚合函数就一定要用到group by 吗?