作用
它允许我们将外部配置(例如 application.properties 或 application.yml 中的配置)映射到一个 Java 类的属性中。
例:
①
我现在有一个JwtProperties类,需要将外部配置的信息映射到该类的属性中(这样我们在用到该类时就不用自己手动去为属性赋值)。
package com.sky.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@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;
}
②
那么我们怎么如何获取配置文件中的配置好的值呢?
这时候我们就要用到在 @ConfigurationProperties
注解中,prefix
一个非常重要的属性---prefix
,它定义了配置属性的命名空间。 通过他的指引,所有以该前缀(案例中为:sky.jwt) 开头的配置项都会被绑定到使用该 prefix
的 @ConfigurationProperties
类的字段上。
配置文件application.yml:
sky:
jwt:
admin-secret-key: itcast
admin-ttl: 7200000
admin-token-name: token