Spring 注入 statistic final
阿新 • • 發佈:2018-11-02
問題背景
1、在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();
}
}