@ConfigurationProperties
【SpringBoot】SpringBoot @ConfigurationProperties 注解 用法与加载static静态属性
@ConfigurationProperties只会调用非静态的set方法,只要将set方法都换成非静态即可
package com.xxx.auth.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
* @Title: 配置信息
* @Description: 描述
* @Version: v1.0
* @Author: Mr.Guan
* @Mail GuanWeiMail@163.com
*/
@Configuration
@ConfigurationProperties(prefix = "config")
public class AuthConfig {
/**
* Token 前缀
*/
private static String tokenPrefix;
/**
* Token 过期时间
*/
public static Integer tokenExistsSeconds;
public static String getTokenPrefix() {
return tokenPrefix;
}
public static Integer getTokenExistsSeconds() {
return tokenExistsSeconds;
}
public synchronized void setTokenPrefix(String tokenPrefix) {
if(AuthConfig.tokenPrefix == null){
AuthConfig.tokenPrefix = tokenPrefix;
}
}
public synchronized void setTokenExistsSeconds(Integer tokenExistsSeconds) {
if(AuthConfig.tokenExistsSeconds == null){
AuthConfig.tokenExistsSeconds = tokenExistsSeconds;
}
}
}
@Value 标记 set 方法
示例代码如下:
- 类必须是 spring bean
- @Value 标记在 set 方法上,方法名没有要求
@Component
public class TestConfig {
private static String name;
@Value("${test.name}")
public void inject(String s) {
name = s;
}
}
版权声明:本文为G971005287W原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。