欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot如何從配置文件中讀取配置參數(shù)

 更新時(shí)間:2024年01月13日 15:19:44   作者:唯空城  
這篇文章主要介紹了SpringBoot如何從配置文件中讀取配置參數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

在生產(chǎn)環(huán)境中,經(jīng)常會(huì)用到各種各樣的參數(shù),為了避免代碼太過死板,一般將參數(shù)寫入配置文件,然后需要用到參數(shù)的時(shí)候從配置文件中讀取

下面總結(jié)出幾種從配置文件中讀取配置參數(shù)的方法。        

環(huán)境搭建

現(xiàn)有配置文件application.properties,內(nèi)容如下所示

# 接口請(qǐng)求基礎(chǔ)路徑
base.param.url = http://192.168.1.110:18081/interaction/v1/
# 平臺(tái)標(biāo)識(shí)
base.param.platformID = 123456789
# 平臺(tái)密鑰
base.param.platformSecret = AaBbCcDd

下面實(shí)現(xiàn)從配置文件中讀取配置參數(shù) 

@Value注解讀取配置參數(shù)

1、非靜態(tài)參數(shù)

一般情況下直接使用@Value注解即可獲取到參數(shù),然后就可以在方法中使用該參數(shù),比如在控制層中使用

使用方法如下:

@Value("${base.param.url}")
private String baseUrl;
 
@Value("${base.param.platformID}")
private String platformID;
 
@Value("${base.param.platformSecret}")
private String platformSecret;

2、靜態(tài)參數(shù)

當(dāng)工具類中的方法需要從配置文件讀取參數(shù)時(shí),需要將參數(shù)定義為靜態(tài),才可以在靜態(tài)方法中獲取到,這時(shí)候就不能只配置個(gè)@Value注解就行了

實(shí)現(xiàn)方法如下:

@Component
public class Common {
 
    private static String platformID;
 
    @Value("${base.param.platformID}")
    public void setPlatformID(String platformID) {
        Common.platformID = platformID;
    }
}

將@Value注解在set方法上,并且類上要加@Component注解。

@PropertySource注解創(chuàng)建配置類

目前該注解只支持properties文件引入,并不支持yml。

1、maven依賴

<!--使用xml或properties配置所依賴的包 @PropertySource-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

2、創(chuàng)建配置類

import lombok.Data;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
 
@Data
@SpringBootConfiguration
@PropertySource(value = {"classpath:application.properties"})
@ConfigurationProperties(prefix = "base.param")
public class ParamProperties {
 
    // 接口請(qǐng)求基礎(chǔ)路徑
    private String url;
 
    // 平臺(tái)標(biāo)識(shí)
    private String platformID;
 
    // 平臺(tái)密鑰
    private String platformSecret;
 
}

其中:

  • classpath指向?qū)?yīng)的配置文件名稱
  • prefix指向配置文件中的名稱

3、使用方式

public class ResponseTask {
    
    @Autowired
    private ParamProperties paramProperties;
 
    private String getToken(){
        TokenEntity tokenEntity = new TokenEntity();
        tokenEntity.setPlatformID(paramProperties.getPlatformID());
        tokenEntity.setPlatformSecret(paramProperties.getPlatformSecret());
    }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中HTTP GET方法調(diào)用帶有body的問題解決

    Java中HTTP GET方法調(diào)用帶有body的問題解決

    這篇文章主要為大家詳細(xì)介紹了Java如何解決HTTP GET方法調(diào)用帶有body的問題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2024-02-02
  • Java 如何調(diào)用long的最大值和最小值

    Java 如何調(diào)用long的最大值和最小值

    這篇文章主要介紹了Java 如何調(diào)用long的最大值和最小值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • spring boot 錯(cuò)誤頁面配置解決方案

    spring boot 錯(cuò)誤頁面配置解決方案

    這篇文章主要介紹了spring boot 錯(cuò)誤頁面配置解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java 實(shí)現(xiàn)鏈表結(jié)點(diǎn)插入

    Java 實(shí)現(xiàn)鏈表結(jié)點(diǎn)插入

    這篇文章主要介紹了Java 實(shí)現(xiàn)鏈表結(jié)點(diǎn)插入操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java使用Apache Tika從PDF文件中提取文本

    Java使用Apache Tika從PDF文件中提取文本

    Apache Tika 是一個(gè)內(nèi)容分析工具包,它能夠從各種類型的文檔中提取元數(shù)據(jù)和文本內(nèi)容,下面我們就來看看如何使用Apache Tika從PDF文件中提取文本吧
    2025-04-04
  • Java Web監(jiān)聽器Listener接口原理及用法實(shí)例

    Java Web監(jiān)聽器Listener接口原理及用法實(shí)例

    這篇文章主要介紹了Java Web監(jiān)聽器Listener接口原理及用法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java讀取其下所有文件夾與文件路徑的方法

    Java讀取其下所有文件夾與文件路徑的方法

    這篇文章主要為大家詳細(xì)介紹了Java讀取其下所有文件夾與文件路徑的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Java的Tomcat和Servlet的運(yùn)行原理詳解

    Java的Tomcat和Servlet的運(yùn)行原理詳解

    這篇文章主要為大家詳細(xì)介紹了Java的Tomcat和Servlet,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • java中關(guān)于深拷貝的幾種方式總結(jié)

    java中關(guān)于深拷貝的幾種方式總結(jié)

    這篇文章主要介紹了java中關(guān)于深拷貝的幾種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java線程狀態(tài)及同步鎖的操作方法

    Java線程狀態(tài)及同步鎖的操作方法

    Java中的thread類自帶有線程的一些方法,這些方法可以讓線程睡眠,插隊(duì),提高線程調(diào)度的優(yōu)先級(jí)等等,它們提供了改變線程狀態(tài)的操作手段,這篇文章主要介紹了Java線程狀態(tài)及同步鎖,需要的朋友可以參考下
    2021-11-11

最新評(píng)論