淺談SpringBoot主流讀取配置文件三種方式
讀取配置SpringBoot配置文件三種方式
一、利用Bean注解中的Value(${})注解
@Data
@Component
public class ApplicationProperty {
@Value("${application.name}")
private String name;
}
該方式可以自動讀取當(dāng)前配置文件appliation.yml 或者application.properties中的配置值
區(qū)別在于讀取yml文件時候支持中文編碼,peoperties需要轉(zhuǎn)碼
二、利用@ConfigurationProperties(prefix = "developer")注解
@Data
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {
private String name;
private String website;
private String qq;
private String phoneNumber;
}
該方式直接將當(dāng)前加載yml配置文件前綴為developer的屬性
讀取developer.name...
pom文件中引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
三、前兩種讀取配置的使用方式
//使用方法
private final ApplicationProperty applicationProperty;
private final DeveloperProperty developerProperty;
@Autowired
public PropertyController(ApplicationProperty applicationProperty, DeveloperProperty developerProperty) {
this.applicationProperty = applicationProperty;
this.developerProperty = developerProperty;
}
@GetMapping("/property")
public Dict index() {
System.out.println("name:"+applicationProperty.getName());
System.out.println("version:"+applicationProperty.getVersion());
System.out.println("DevName:"+applicationProperty.getDeveloperName());
}
四、用Hutool的方式讀取配置文件(不支持yml格式)
1.用Props的方式讀取
static Props props1 = new Props("application.properties",CharsetUtil.CHARSET_UTF_8);
2.用Setting的方法讀取
static Setting setting = new Setting("application-dev.yml", CharsetUtil.CHARSET_UTF_8,true);
3.將配置文件讀取
public class Constant {
static Props props1 = new Props("application.properties",CharsetUtil.CHARSET_UTF_8);
static Setting setting = new Setting("application-dev.properties", CharsetUtil.CHARSET_UTF_8,true);
public static final String Name ;
public static final String SettingName ;
static {
Name = props.getStr("application.name");
SettingName = setting.getByGroup("name","application");
}
}
4.使用方式
System.out.println(Constant.DevName+"------"+Constant.DevWebsite);
直接用常量類調(diào)用該類屬性即可使用
到此這篇關(guān)于淺談SpringBoot主流讀取配置文件三種方式的文章就介紹到這了,更多相關(guān)SpringBoot主流讀取配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Springboot中Mybatis與Mybatis-plus的區(qū)別詳解
MyBatis是一個優(yōu)秀的持久層框架,它對JDBC的操作數(shù)據(jù)庫的過程進(jìn)行封裝,MyBatisPlus (簡稱 MP)是一個 MyBatis的增強工具,在 MyBatis 的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生,本文將給大家介紹了在Springboot中Mybatis與Mybatis-plus的區(qū)別2023-12-12
Spring Boot定時任務(wù)單線程多線程實現(xiàn)代碼解析
這篇文章主要介紹了Spring Boot定時任務(wù)單線程多線程實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
Springboot如何使用mybatis實現(xiàn)攔截SQL分頁
這篇文章主要介紹了Springboot使用mybatis實現(xiàn)攔截SQL分頁,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
SpringMVC?@RequestMapping注解屬性詳細(xì)介紹
通過@RequestMapping注解可以定義不同的處理器映射規(guī)則,下面這篇文章主要給大家介紹了關(guān)于SpringMVC中@RequestMapping注解用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02

