淺談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ù)庫的過程進行封裝,MyBatisPlus (簡稱 MP)是一個 MyBatis的增強工具,在 MyBatis 的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生,本文將給大家介紹了在Springboot中Mybatis與Mybatis-plus的區(qū)別2023-12-12Spring Boot定時任務(wù)單線程多線程實現(xiàn)代碼解析
這篇文章主要介紹了Spring Boot定時任務(wù)單線程多線程實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Springboot如何使用mybatis實現(xiàn)攔截SQL分頁
這篇文章主要介紹了Springboot使用mybatis實現(xiàn)攔截SQL分頁,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06SpringMVC?@RequestMapping注解屬性詳細介紹
通過@RequestMapping注解可以定義不同的處理器映射規(guī)則,下面這篇文章主要給大家介紹了關(guān)于SpringMVC中@RequestMapping注解用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02