java 注解加载配置文件_详解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());//结果输出: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());//结果输出: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());//结果输出:configName

assert "root".equals(propertySourceConfig.getUserName());

System.out.println(propertySourceConfig.getUserName());//结果输出:root

assert "root".equals(propertySourceConfig.getPassWord());

System.out.println(propertySourceConfig.getPassWord());//结果输出:root

}

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值