Spring Boot框架 - application.properties配置
阅读此文章之前,需要参考 https://www.cnblogs.com/mysummary/p/12238242.html 创建Spring Boot项目
建成后目录如下
一、在com.demo.springdemo包下新建两个类,bean.Dog 和 bean.Person 类(作测试用)
- Person类代码如下
1 public class Person { 2 3 //person的基本属性 4 private String lastname; 5 private Integer age; 6 private Boolean isboss; 7 private Date birth; 8 9 //map和list类型属性 10 private Map<String,Object> maps; 11 private List<Object> lists; 12 13 //对象属性 14 private Dog dog; 15 16 }
- Dog类代码如下
1 public class Dog { 2 private String name; 3 private Integer age; 4 }
- 在Person类和Dog类下分别使用⌘+N 快捷键调出 toString() 方法
- 在Person类和Dog类下分别使用⌘+N 快捷键调出 Getter and Setter 方法 【类中变量属性一般为private。这里之所以将变量属性设为private是为了引用该类时保证数据被其他类引用,提高数据的安全性。结合java的封闭性和安全性,不难看出这样这些变量按道理来说像是被封闭在该类里,为了引用这些变量,这里我们使用了set和get方法去操作变量(get用来取值,set用来修改变量值),既能提高封装型,也不失安全性】
- 完成后的代码如下(以Dog类为例)
1 public class Dog { 2 private String name; 3 private Integer age; 4 5 @Override 6 public String toString() { 7 return "Dog{" + 8 "name='" + name + '\'' + 9 ", age=" + age + 10 '}'; 11 } 12 13 public String getName() { 14 return name; 15 } 16 17 public void setName(String name) { 18 this.name = name; 19 } 20 21 public Integer getAge() { 22 return age; 23 } 24 25 public void setAge(Integer age) { 26 this.age = age; 27 } 28 }
二、在pom文件中导入配置文件处理器
* 导入配置文件处理器
<!-- 导入配置文件处理器,配置文件进行绑定就会有提示,重新运行程序后生效 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
* 重新运行主程序即可生效
三、在application.properties文件中写入配置内容
1 person.lastname=张三 2 person.age=18 3 person.birth=2017/12/15 4 person.isboss=false 5 6 person.maps.k1=v1 7 person.maps.k2=14 8 person.lists=a,b,c 9 10 person.dog.name=dog_one 11 person.dog.age=2
四、加入相关注解,获取配置文件中的内容
- 在Person.java文件中加入 @ConfigurationProperties(prefix = "person")注解
- 再加上 @Component注解
五、下面来测试一下是否能获取到配置文件中的内容
- 打开Spring Booot的单元测试文件
- 在文件下先添加注解
@RunWith(SpringRunner.class)
(若出现无法添加该注解,参考https://blog.csdn.net/weixin_43681796/article/details/98033592操作即可)
- 注入Person:
@Autowired
Person person; //注入person - 在控制台添加一个输出person
System.out.println(person);
完成后代码如下:
1 @SpringBootTest 2 class SpringdemoApplicationTests { 3 4 @Autowired 5 Person person; //注入person 6 @Test 7 void contextLoads() { 8 System.out.println(person); 9 } 10 }
- 运行测试程序,在控制台输出获取结果
可以看出来,输出的 lastname='å¼ ä¸' 出现乱码现象
解决方法:在performance中查找 file encodings,按照下图配置
注意!!!完成后,需要删除原来的application.properties文件,重新配置,再次运行测试程序,可打印出正确结果