读取SpringBoot(Spring)的配置信息,定义常量
目录
1、读取配置信息定义系统常量的用途
因为某些系统常量需要在配置文件信息之中进行配置,同时需要把配置常量信息作为一部分内容,写入到系统代码之中,以前常用的方法是通过读取配置文件信息或者从数据库表之中读取信息后,使用static代码块在系统启动时候进行常量的初始化。现在介绍一种使用SpringBoot的配置文件信息或者Spring的配置文件信息进行读取配置信息,并且实现在代码之中加入常量信息。
2、如何来读取配置常量在系统代码之中定义常量
问题分析及解决方法:
常量定义原则:要用final和static修饰,定义时要初始化,初始化的时候不能通过调用方法的方式。
使用原则:此工具类在使用的时候,须先从spring容器中获取。
解决方法:先定义一个类,通过setter注入的方式获取spring中的配置信息,并将其定义为静态属性,
然后定义常量类,把静态属性赋值给常量
@Configuration
@PropertySource(value = {"classpath:application.properties" })
public class FrameworkBaseConfig {
@Value("${server.app_key}")
private String appKey;
public String getAppKey() {
return appKey;
}
public void setAppKey(String appKey) {
this.appKey = appKey;
}
}
/**
* 此类是将springboot配置信息转换成静态属性
*/
@Component
public class FrameworkBaseConstantsHelper {
public static String appKey;
@Autowired
public void setAppKey(FrameworkBaseConfig frameworkBaseConfig) {
appKey = frameworkBaseConfig.getAppKey();
}
}
public class CacheRedisConstants {
//在SpringBoot之中缓存监听启动后获得当前的应用appKey
public static final String APP_KEY =FrameworkBaseConstantsHelper.appKey;
}
3、SpringBoot之中如何针对定义的常量进行使用
如果业务系统之中需要如下操作,在启动启动后刷入基础字典信息到Redis缓存,或者基本常量到系统常量之中,时候可以使用前面提供的方式。本人在需要在系统启动完毕后实现在把基本字典信息和相关配置参数信息刷到Redis缓存之中,本人自己采用一个自己实现的 implements ApplicationRunner 类加载基本配置信息 然后刷入缓存信息。
参考文章:读取spring的配置来定义常量
上一篇: karaf常用命令纪录
下一篇: OSS bucket you are attempting to access must be addressed using the specified endpoint...已解决
推荐阅读
-
在SpringBoot下读取自定义properties配置文件的方法
-
在Spring Cloud中配置Feign的拦截器 增加自定义的请求信息进去 以及演示加入Authorization到请求Headers
-
读取SpringBoot(Spring)的配置信息,定义常量
-
SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件
-
springboot读取配置文件中的信息
-
Springboot整合Spring Cloud Kubernetes读取ConfigMap支持自动刷新配置的教程
-
springboot 在xml里读取yml的配置信息的示例代码
-
解决spring boot读取自定义配置文件的办法
-
【Spring Boot】Spring Boot @ConfigurationProperties示例 | 读取自定义配置文件信息
-
Spring boot读取自定义的配置文件