SpringBoot如何從配置文件中讀取配置參數(shù)
前言
在生產環(huán)境中,經(jīng)常會用到各種各樣的參數(shù),為了避免代碼太過死板,一般將參數(shù)寫入配置文件,然后需要用到參數(shù)的時候從配置文件中讀取
下面總結出幾種從配置文件中讀取配置參數(shù)的方法。
環(huán)境搭建
現(xiàn)有配置文件application.properties,內容如下所示
# 接口請求基礎路徑 base.param.url = http://192.168.1.110:18081/interaction/v1/ # 平臺標識 base.param.platformID = 123456789 # 平臺密鑰 base.param.platformSecret = AaBbCcDd
下面實現(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ù)
當工具類中的方法需要從配置文件讀取參數(shù)時,需要將參數(shù)定義為靜態(tài),才可以在靜態(tài)方法中獲取到,這時候就不能只配置個@Value注解就行了
實現(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 {
// 接口請求基礎路徑
private String url;
// 平臺標識
private String platformID;
// 平臺密鑰
private String platformSecret;
}其中:
- classpath指向對應的配置文件名稱
- prefix指向配置文件中的名稱
3、使用方式
public class ResponseTask {
@Autowired
private ParamProperties paramProperties;
private String getToken(){
TokenEntity tokenEntity = new TokenEntity();
tokenEntity.setPlatformID(paramProperties.getPlatformID());
tokenEntity.setPlatformSecret(paramProperties.getPlatformSecret());
}
}總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringBoot使用Jasypt對配置文件和數(shù)據(jù)庫密碼加密
- springboot中非容器類如何獲取配置文件數(shù)據(jù)
- 詳解SpringBoot依賴注入和使用配置文件
- SpringBoot中的配置文件加載優(yōu)先級詳解
- Springboot如何實現(xiàn)對配置文件中的明文密碼加密
- SpringBoot中的YAML配置文件和日志詳解
- SpringBoot實現(xiàn)配置文件加密的方案分享
- SpringBoot綁定配置文件中變量的四種方式總結
- SpringBoot讀取多環(huán)境配置文件的幾種方式
- SpringBoot中獲取配置文件的注解詳解
- Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)
相關文章
Java?Controller實現(xiàn)參數(shù)驗證與統(tǒng)一異常處理流程詳細講解
Controller是Spring接受并處理網(wǎng)頁請求的組件,是整個應用的入口,因此學會Controller的常用注解對理解一個應用是重中之重。SpringBoot的Controller中經(jīng)常會用到注解@Controller、@RestController、@RequestMapping、@RequestBody等2023-01-01
基于Java SSM實現(xiàn)在線點餐系統(tǒng)
本項目基于Java SSM框架實現(xiàn)在線點餐系統(tǒng),主要實現(xiàn)系統(tǒng)的在線點餐功能。文中的示例代碼講解詳細,感興趣的可以跟隨小編一起學習一下2022-02-02
SpringBoot集成OAuth2.0的實現(xiàn)示例
OAuth2.0是安全授權協(xié)議,通過訪問令牌替代密碼,保障用戶數(shù)據(jù)安全,適用于社交登錄、第三方數(shù)據(jù)訪問等場景,下面就來介紹一下SpringBoot集成OAuth2.0,感興趣的可以了解一下2025-06-06
Spring Cloud 2020.0.0正式發(fā)布再見了Netflix
這篇文章主要介紹了Spring Cloud 2020.0.0正式發(fā)布再見了Netflix,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
Mybatis中isNotNull與isNotEmpty的使用心得
這篇文章主要介紹了Mybatis中isNotNull與isNotEmpty的使用心得,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

