读取spring的配置来定义常量

来源:互联网 发布:c语言小游戏程序 编辑:程序博客网 时间:2024/06/09 21:03

问题背景

1、在spring配置中有一个【在线地址】的配置
spring的配置

2、有一个工具类,可以读取spring的配置
工具类

需求:将spring的配置定义为一个常量

问题分析

1、常量定义原则:要用final和static修饰,定义时要初始化,初始化的时候不能通过调用方法的方式。
2、此工具类在使用的时候,须先从spring容器中获取。
思路:先定义一个类,通过setter注入的方式获取spring中的配置信息,并将其定义为静态属性,然后定义常量类,把静态属性赋值给常量

解决方案

public class PropertiesConstants {    /**     * 在线资源地址     * online-resource-path     */    public static final String ONLINE_RESOURCE_PATH = PropertiesConstantsHelper.onlineResourcePath;}/** * 此类是将spring配置信息转换成静态属性 */@Componentclass PropertiesConstantsHelper {    static String onlineResourcePath;    @Autowired    public void setUploadProperties(UploadProperties uploadProperties) {        onlineResourcePath = uploadProperties.getOnlineResourcePath();    }}