Spring 注入 statistic final

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 23:37   23   0

问题背景

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配置信息转换成静态属性
 */
@Component
class PropertiesConstantsHelper {

    static String onlineResourcePath;

    @Autowired
    public void setUploadProperties(UploadProperties uploadProperties) {
        onlineResourcePath = uploadProperties.getOnlineResourcePath();
    }
}
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP