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-读取核心配置文件及自定义配置文件

Springboot读取配置文件及自定义配置文件

[SpringBoot]配置文件①(配置文件格式yaml配置及读取)

(C)spring boot读取自定义配置文件时乱码解决办法

springboot读取配置文件解决乱码问题

自定义jar配置文件问题?