问题背景

1、在spring配置中有一个【在线地址】的配置
读取spring的配置来定义常量

2、有一个工具类,可以读取spring的配置
读取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配置信息转换成静态属性  */ @Component class PropertiesConstantsHelper {      static String onlineResourcePath;      @Autowired     public void setUploadProperties(UploadProperties uploadProperties) {         onlineResourcePath = uploadProperties.getOnlineResourcePath();     } }