springboot yml配置文件定义list集合、数组和map以及使用中的错误
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<String> include; }
如果使用@value注解会报错;
2.2 定义对象list集合
首先创建一个user对象如下:
@Data public 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<User> 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<String , String> maps; }
总结
以上就是spring boot yml配置文件定义基本数据类型和引用数据类型的方式。
这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程图解
这篇文章主要介绍了SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07Java 8中读取文件内容 Files.lines()方法使用示例
这篇文章主要介绍了Java 8中读取文件内容Files.lines()方法如何使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-07-07MyBatis-Plus 中 typeHandler 的使用实例详解
本文介绍了在MyBatis-Plus中如何使用typeHandler处理json格式字段和自定义typeHandler,通过使用JacksonTypeHandler,可以简单实现将实体类字段转换为json格式存储,感兴趣的朋友跟随小编一起看看吧2024-10-10
最新评论