詳解SpringBoot注解讀取配置文件的方式
一、@Value讀取application.properties配置文件中的值
application.properties配置文件
fileName=configName
PropertiesConfig類文件
import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class PropertiesConfig { //通過@Value注解讀取fileName的值 @Value("${fileName}") private String fileName; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } }
測試
import com.model.PropertiesConfig; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class PropertiesConfigTest { @Autowired private PropertiesConfig propertiesConfig; @Test public void test(){ System.out.println(propertiesConfig.getFileName());//結(jié)果輸出:configName assert "configName".equals(propertiesConfig.getFileName()); } }
二、@ConfigurationProperties讀取多個application.properties配置文件中的值
application.properties文件
database.username=root database.password=root
DatabaseConfig類文件
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties("database") public class DatabaseConfig { private String userName; private String passWord; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } }
測試
import com.model.DatabaseConfig; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class DatabaseConfigTest { @Autowired private DatabaseConfig databaseConfig; @Test public void test(){ System.out.println("username = " + databaseConfig.getUserName() +", password = "+databaseConfig.getPassWord());//結(jié)果輸出:username = root, password = root assert "root".equals(databaseConfig.getUserName()); assert "root".equals(databaseConfig.getPassWord()); } }
三、@PropertySource讀取任意配置文件
新建property-source.properties配置文件
fileName=configName database.username=root database.password=root
PropertySourceConfig類文件
import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @PropertySource(value = {"classpath:property-source.properties"}) @ConfigurationProperties("database") public class PropertySourceConfig { @Value("${fileName}") private String fileName; private String userName; private String passWord; public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } }
測試
import com.model.PropertySourceConfig; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class PropertySourceConfigTest { @Autowired private PropertySourceConfig propertySourceConfig; @Test public void test(){ assert "configName".equals(propertySourceConfig.getFileName()); System.out.println("fileName = " + propertySourceConfig.getFileName());//結(jié)果輸出:configName assert "root".equals(propertySourceConfig.getUserName()); System.out.println(propertySourceConfig.getUserName());//結(jié)果輸出:root assert "root".equals(propertySourceConfig.getPassWord()); System.out.println(propertySourceConfig.getPassWord());//結(jié)果輸出:root } }
完整代碼鏈接:read-config-file項目地址
到此這篇關(guān)于詳解SpringBoot注解讀取配置文件的方式的文章就介紹到這了,更多相關(guān)SpringBoot注解讀取配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring創(chuàng)建bean的幾種方式及使用場景
本文主要介紹了Spring創(chuàng)建bean的幾種方式及使用場景,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04springboot使用Thymeleaf報錯常見的幾種解決方案
這篇文章主要介紹了springboot使用Thymeleaf報錯常見的幾種解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Spring?Boot中自動執(zhí)行sql腳本的方法實例
在SpringBoot的架構(gòu)中,DataSourceInitializer類可以在項目啟動后初始化數(shù)據(jù),我們可以通過自動執(zhí)行自定義sql腳本初始化數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Spring?Boot中自動執(zhí)行sql腳本的相關(guān)資料,需要的朋友可以參考下2022-01-01MybatisPlus多條件?or()的使用問題小結(jié)
這篇文章主要介紹了MybatisPlus多條件?or()的使用問題小結(jié),本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-05-05