首先在 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\":\"@[email protected]\"} 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管理
原文地址:https://www.cnblogs.com/yunian139/p/11868460.html
时间: 2024-11-10 07:40:27