springboot 加载配置信息(静态)
举例:动态设置验证码过期时间
application-uat.properties配置(文件路径:/src/main/resources/application-uat.properties)
CAPTCHA_CODE_TIME=43200
将配置文件加载到spring容器
import org.springframework.context.annotation.PropertySource;
@PropertySource(value = {"classpath:application-uat.properties"})
获取配置常量类
/**
*
* @title: 动态加载配置信息工具类
* @author: wll
* @since: 2021-5-25 14:58:45
*/
public class SpingHolderConstant {
public static final String CAPTCHA_CODE_TIME = SpringHolder.getProperty("CAPTCHA_CODE_TIME", String.class);
}
使用方法:
String captchaCodeTime = SpingHolderConstant.CAPTCHA_CODE_TIME;
工具类:SpringHolderUtils
import java.util.Map;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
/**
*
* @title: spring ApplicationContext 工具类
* @author: wll
* @since: 2021-5-25 15:05:15
*/
@Component
public class SpringHolderUtils implements ApplicationContextAware{
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringHolderUtils.applicationContext = applicationContext;
}
public static ApplicationContext getApplicationContext(){
return applicationContext;
}
public static Environment getEnv(){
return applicationContext.getEnvironment();
}
public static <T> T getBean(Class<T> clzz){
return applicationContext.getBean(clzz);
}
public static Object getBean(String name){
return applicationContext.getBean(name);
}
public static <T> T getBean(String name,Class<T> clzz){
return applicationContext.getBean(name, clzz);
}
public static <T> Map<String, T> getBeansOfType(Class<T> clzz){
return applicationContext.getBeansOfType(clzz);
}
public static <T> T getProperty(String key,Class<T> clzz){
return getEnv().getProperty(key, clzz);
}
public static <T> T getProperty(String key, T defaultValue,Class<T> clzz){
return getEnv().getProperty(key, clzz, defaultValue);
}
}