行业知识
SpringBoot 中yml配置文件:定义list集合、数组及注意事项
2026-11-03 04:46:48
来源:互联网转载
1.在平时的yml配置文件中,我们经常使用到配置基本数据类型的字符串,比如配置日志文件的写法如下:
# 配置日志输出级别logging: # 指定logback配置文件的位置 config: classpath:logback-spring.xml # 文件日志要输出的路径 path: E:/logs/springboot_server # 日志的输出级别 level: root: info
获取属性值的话可以通过@value 注解来实现,如下:
@Value("${logging.path}")private String path; // 获取日志文件的输出路径 2.下面说一下如何在yml配置文件中定义list集合、对象集合、数组以及map集合等
2.1定义list集合
# 拦截器路径拦截或者不拦截配置interceptorconfig: path: #该路径下任何类型请求均拦截 include: - /api/v1/token/api_token - /api/v1/yibaotong/save
或者写成
# 拦截器路径拦截或者不拦截配置interceptorconfig: path: #该路径下任何类型请求均拦截 include: [/api/v1/token/api_token,/api/v1/yibaotong/save]
这里需要注意的是,定义list集合不能用@value注解来获取list集合的所有值,需要定义一个配置类bean,然后使用 @ConfigurationProperties注解来获取list集合值,做法如下:
@Data@Component@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置文件的前缀public class InterceptorPathBean{ /* * 需要拦截的路径 */ private List include;} 如果使用@value注解会报错;
2.2 定义对象list集合,首先创建一个user对象如下:
@Datapublic class User implements Serializable{ private static final long serialVersionUID = 1L; private String appId; private String password; } 然后yml配置文件的写法如下:
jwt: userlist: - appId: YiBaoTong password: 123456 - appId: ZhiKe password: 123456
定义配置bean使用@ConfigurationProperties注解获取对象集合值:
@Data@Component@ConfigurationProperties(prefix = "jwt") // 配置 文件的前缀public class JwtConfigBean{ /** * 用户列表 */ private List userlist;} 2.3 定义数组,格式如下:
interceptorconfig: path: includes: /api/v1,/api/v2 #注意要用逗号分隔开
可以通过@value注解获取数组值,如下:
@Value("${interceptorconfig.path.includes}") private String[] includes; 也可以通过创建配置类bean,使用@ConfigurationProperties注解获取,如下:
@Data@Component@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前缀public class InterceptorPathBean{ private String[] includes;} 2.4 定义map集合,如下:
interceptorconfig: path: maps: {name: 小明,age: 24} 或者写成:
interceptorconfig: path: maps: name: 小明 age: 24
通过创建配置类bean,使用@ConfigurationProperties注解获取map值,如下:
@Data@Component@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前缀public class InterceptorPathBean{ private Map maps;}
最新文章
- (C卷,100分)- ABR 车路协同场景(Java & JS & Python)
- 宝塔控制面板Cookie开启教程,轻松开启,掌握操作技巧!
- 拼音字母发音宝典,掌握正确读音的终极指南
- 已解决org.springframework.transaction.UnexpectedRollbackException意外的回滚异常的正确解决方法,亲测有效!!!
- 揭秘垣字读音,轻松掌握正确发音
- Linux怎么连接远程tcp服务器?
- 永大服务器怎么退出检修?
- 深入探索syslog源码,揭秘系统日志管理的核心机制
- centos服务器怎么更改ip?
- Spring Boot毕业论文管理系统的设计与实现 计算机毕设源码78896