1.SpringBoot 讀取配置文件的值 賦給靜態變量


需求:寫了一個工具類,但是工具類中的一些變量需要放到配置文件中,而這個工具類中的變量與方法都是靜態的,這個時候我需要一個辦法將配置文件中的相關配置讀取過來賦值給這些靜態變量。找了一些文章,試了一些方法,感覺比較好用的是一下

我的工具類ClientUtil,setConfigInfo()方法用來供讀取配置文件的Config類調用來進行對靜態變量賦值:

復制代碼
public class ClientUtil {
 
    private static String ENDPOINT;

    private static String ACCESS_KEY_ID;

    private static String ACCESS_KEY_SECRET;public static void setConfigInfo(TestConfig testConfig) {
        ClientUtil.ENDPOINT = testConfig.getEndpoint();
        ClientUtil.ACCESS_KEY_ID = testConfig.getAccessKeyId();
        ClientUtil.ACCESS_KEY_SECRET = testConfig.getAccessKeySecret();
    }
  ..............(省略具體的業務靜態方法)................... }
復制代碼

 

配置文件的內容application.yml:

test:
  endpoint: http://oss-cn-hangzhou.aliyuncs.com
  accessKeyId: test-key-id
  accessKeySecret: test-key

專門寫了一個讀取配置文件的類TestConfig,使用@PostConstruct注解在服務器加載Servlet的時候運行init()方法,將讀取來的配置信息賦值到util的靜態變量中:

復制代碼
@Configuration
@Data
public class TestConfig {
    @Value("${test.endpoint}")
    private String endpoint;

    @Value("${test.accessKeyId}")
    private String accessKeyId;

    @Value("${test.accessKeySecret}")
    private String accessKeySecret;

    @PostConstruct
    public void init(){
        ClientUtil.setConfigInfo(this);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM