springboot读取自定义配置文件及乱码问题
Posted 我看见的世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot读取自定义配置文件及乱码问题相关的知识,希望对你有一定的参考价值。
首先在 resources 目录下自定义一个配置文件
如sms.properties
#短信平台相关 mall.sms.regionId=ch-hangzhou mall.sms.accessKeyId=********* mall.sms.accessKeySecret=********** mall.sms.product=Dysmsapi mall.sms.domain=dysmsapi.aliyuncs.com mall.sms.timeout=1000 mall.sms.signName=静安国际万国荟公园 mall.sms.templateCode=SMS_150172034 mall.sms.templateParam={"code":"@code@"} mall.sms.verify.timeout=600
在需要用到此配置的类上加上注解 @PropertySource
@Service @Slf4j @PropertySource(value="classpath:sms.properties",encoding = "utf-8") public class SmsService { @Autowired private RedisManager redisManager; @Value("${mall.sms.signName}") private String signName; @Value("${mall.sms.templateCode}") private String templateCode; @Value("${mall.sms.templateParam}") private String templateParam; @Value("${mall.sms.verify.timeout}") private long timeout; }
@PropertySource注解中 value 的取值为 classpath:配置文件名称
最后有两点需要注意造成乱码的情况:
首先:需要注意properties文件的格式应该设为utf-8
然后读取配置文件时 @PropertySource不仅需要加上value属性,还需要设置 encoding为utf-8
引用配置的类需要添加spring可识别的注解,将此类交给spring管理
以上是关于springboot读取自定义配置文件及乱码问题的主要内容,如果未能解决你的问题,请参考以下文章
[SpringBoot]配置文件①(配置文件格式yaml配置及读取)