Spring Boot框架 - application.properties配置

阅读此文章之前,需要参考 https://www.cnblogs.com/mysummary/p/12238242.html 创建Spring Boot项目

建成后目录如下

 

 

一、在com.demo.springdemo包下新建两个类,bean.Dog 和 bean.Person 类(作测试用)

  1. 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 }
  2. Dog类代码如下
    1 public class Dog {
    2     private String name;
    3     private Integer age;
    4 }
  3. 在Person类和Dog类下分别使用⌘+N 快捷键调出 toString() 方法
  4. 在Person类和Dog类下分别使用⌘+N 快捷键调出 Getter and Setter 方法   【类中变量属性一般为private。这里之所以将变量属性设为private是为了引用该类时保证数据被其他类引用,提高数据的安全性。结合java的封闭性和安全性,不难看出这样这些变量按道理来说像是被封闭在该类里,为了引用这些变量,这里我们使用了set和get方法去操作变量(get用来取值,set用来修改变量值),既能提高封装型,也不失安全性】
  5. 完成后的代码如下(以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文件,重新配置,再次运行测试程序,可打印出正确结果

 

posted @ 2020-01-28 21:03  爱穿新衣服的姑凉  阅读(754)  评论(0编辑  收藏  举报