Spring Boot 属性配置类
2025/11/30小于 1 分钟
属性配置类
在Spring Boot中,属性配置类的使用是一种最佳实践,下面我来详细解释为什么要使用@ConfigurationProperties而不是直接使用@Value("${}")。
@Component
@ConfigurationProperties(prefix = "sky.jwt")
@Data
public class JwtProperties {
/**
* 管理端员工生成jwt令牌相关配置
*/
private String adminSecretKey;
private long adminTtl;
private String adminTokenName;
/**
* 用户端微信用户生成jwt令牌相关配置
*/
private String userSecretKey;
private long userTtl;
private String userTokenName;
}sky:
jwt:
# 设置jwt签名加密时使用的秘钥
admin-secret-key: itcast
# 设置jwt过期时间
admin-ttl: 7200000
# 设置前端传递过来的令牌名称
admin-token-name: token这样使用配置类后方便使用,不建议使用@Value(“${sky.jwt.admin-ttl}”),因为需要注入多个属性,并且修改不方便有多个文件使用就都需要修改。
这里直接注入jwtProperties,用get拿属性即可。
String token = JwtUtil.createJWT(
jwtProperties.getAdminSecretKey(),
jwtProperties.getAdminTtl(),
claims);