欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

读取SpringBoot(Spring)的配置信息,定义常量

程序员文章站 2022-07-15 10:08:56
...

目录

 

1、读取配置信息定义系统常量的用途

2、如何来读取配置常量在系统代码之中定义常量

3、SpringBoot之中如何针对定义的常量进行使用


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 类加载基本配置信息 然后刷入缓存信息。

读取SpringBoot(Spring)的配置信息,定义常量

参考文章:读取spring的配置来定义常量