一、@Value读取application.properties配置文件中的值
application.properties配置文件
1
|
fileName=configName
|
PropertiesConfig类文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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;
}
}
|
测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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文件
1
2
|
database.username=root
database.password=root
|
DatabaseConfig类文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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;
}
}
|
测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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配置文件
1
2
3
|
fileName=configName
database.username=root
database.password=root
|
PropertySourceConfig类文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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;
}
}
|
测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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
}
}
|
完整代码链接:read-config-file项目地址
到此这篇关于详解SpringBoot注解读取配置文件的方式的文章就介绍到这了,更多相关SpringBoot注解读取配置文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://juejin.cn/post/6927101340178972686