您的位置:首页技术文章
文章详情页

详解SpringBoot注解读取配置文件的方式

浏览:23日期:2023-03-25 11:10:08
一、@Value读取application.properties配置文件中的值

application.properties配置文件

fileName=configName

PropertiesConfig类文件

import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic 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)@SpringBootTestpublic class PropertiesConfigTest { @Autowired private PropertiesConfig propertiesConfig; @Test public void test(){ System.out.println(propertiesConfig.getFileName());//结果输出:configName assert 'configName'.equals(propertiesConfig.getFileName()); }}二、@ConfigurationProperties读取多个application.properties配置文件中的值

application.properties文件

database.username=rootdatabase.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)@SpringBootTestpublic class DatabaseConfigTest { @Autowired private DatabaseConfig databaseConfig; @Test public void test(){ System.out.println('username = ' + databaseConfig.getUserName() +', password = '+databaseConfig.getPassWord());//结果输出:username = root, password = root assert 'root'.equals(databaseConfig.getUserName()); assert 'root'.equals(databaseConfig.getPassWord()); }}三、@PropertySource读取任意配置文件

新建property-source.properties配置文件

fileName=configNamedatabase.username=rootdatabase.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)@SpringBootTestpublic class PropertySourceConfigTest { @Autowired private PropertySourceConfig propertySourceConfig; @Test public void test(){ assert 'configName'.equals(propertySourceConfig.getFileName()); System.out.println('fileName = ' + propertySourceConfig.getFileName());//结果输出:configName assert 'root'.equals(propertySourceConfig.getUserName()); System.out.println(propertySourceConfig.getUserName());//结果输出:root assert 'root'.equals(propertySourceConfig.getPassWord()); System.out.println(propertySourceConfig.getPassWord());//结果输出:root }}

完整代码链接:read-config-file项目地址

到此这篇关于详解SpringBoot注解读取配置文件的方式的文章就介绍到这了,更多相关SpringBoot注解读取配置文件内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Spring
相关文章: