SpringBoot使用自定义的配置文件
-
我们知道SpringBoot默认是加载application.properties配置文件,或者是application.yml
-
那么问题来了,当我们的项目需求越来越大的时候,配置文件内的内容就会很多,只有一个配置文件,很显然会出现很混乱的样子
-
所以这个时候我们就会自己定义一个配置文件
1.首先我们使用IDEA创建一个SpringBoot项目
说明下:我这里使用的是1.5.15的Springboot版本
然后在 resource 下创建一个demo.properties的配置文件
并且在里边添加两个变量:
例如
2.使用 @PropertySource(),将配置文件添加到启动类中
说明:这种写法就是讲我们自定义的配置文件交给spring容器管理
3.随后创建javaBean
注意:记得将javaBean放到Spring容器中,因为我们的配置文件也在SpringBean容器中
@Component
public class User {
@Value("${name}")
private String userName;
@Value("${passWord}")
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;
}
}
3.进行测试
注意我这里是使用的SpringBoot自己的测试方法,想自己写也可以
package com.hrxfjr;
import com.hrxfjr.bean.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootDubboProviderApplicationTests {
@Value("${name}")
private String userName;
@Autowired
private User user;
@Test
public void contextLoads() {
System.out.println("直接取的值:" + userName);
// User user = new User();
System.out.println("对象中取值:" + user.getUserName());
}
}
运行测试可以看到我们已经取到了配置文件中的值