springboot 使用属性文件,自定义常量方案
引言:常量定义在application.properties文件里面也可以;当然,用@Value 取值也可以。但是,有时候我们要自己定义一个常量文件,那怎么读取这个属性文件的值呢? 下面就贡献一下我的探索吧。
1.定义一个存放常量的properties文件
# REDIS_LOGIN_TOKEN
com.login.token = token
com.login.tokenExpire = 18000
2.定义一个存放常量的bean
package com.constant;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
@ConfigurationProperties(prefix = "com.login")
@PropertySource("classpath:constant.properties")
public class Constant {
private String token;
private Integer tokenExpire;
public Integer getTokenExpire() {
return tokenExpire;
}
public void setTokenExpire(Integer tokenExpire) {
this.tokenExpire = tokenExpire;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
3.在app.java里注册声明给spring,这个bean是作为常量使用
@EnableConfigurationProperties({Constant.class})
4.使用常量: (和普通的类引用一样)
@Autowired
private Constant constant;
String token = CookieUtils.getCookieValue(request,constant.getToken());