SpringBoot 中yml配置文件:定义list集合、数组及注意事项
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对象如下:
@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 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;
}
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
