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

建成后目录如下

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

  1. Person类代码如下

     public class Person {
    
         //person的基本属性
    private String lastname;
    private Integer age;
    private Boolean isboss;
    private Date birth; //map和list类型属性
    private Map<String,Object> maps;
    private List<Object> lists; //对象属性
    private Dog dog; }
  2. Dog类代码如下
     public class Dog {
    private String name;
    private Integer age;
    }
  3. 在Person类和Dog类下分别使用⌘+N 快捷键调出 toString() 方法
  4. 在Person类和Dog类下分别使用⌘+N 快捷键调出 Getter and Setter 方法   【类中变量属性一般为private。这里之所以将变量属性设为private是为了引用该类时保证数据被其他类引用,提高数据的安全性。结合java的封闭性和安全性,不难看出这样这些变量按道理来说像是被封闭在该类里,为了引用这些变量,这里我们使用了set和get方法去操作变量(get用来取值,set用来修改变量值),既能提高封装型,也不失安全性】
  5. 完成后的代码如下(以Dog类为例)
     public class Dog {
    private String name;
    private Integer age; @Override
    public String toString() {
    return "Dog{" +
    "name='" + name + '\'' +
    ", age=" + age +
    '}';
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public Integer getAge() {
    return age;
    } public void setAge(Integer age) {
    this.age = age;
    }
    }

二、在pom文件中导入配置文件处理器

* 导入配置文件处理器

<!-- 导入配置文件处理器,配置文件进行绑定就会有提示,重新运行程序后生效 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

* 重新运行主程序即可生效

三、在application.properties文件中写入配置内容

 person.lastname=张三
person.age=18
person.birth=2017/12/15
person.isboss=false person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,c person.dog.name=dog_one
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);

完成后代码如下:

 @SpringBootTest
class SpringdemoApplicationTests { @Autowired
Person person; //注入person
@Test
void contextLoads() {
System.out.println(person);
}
}
  • 运行测试程序,在控制台输出获取结果

可以看出来,输出的 lastname='å¼ ä¸‰' 出现乱码现象

解决方法:在performance中查找 file encodings,按照下图配置

注意!!!完成后,需要删除原来的application.properties文件,重新配置,再次运行测试程序,可打印出正确结果

Spring Boot框架 - application.properties配置的更多相关文章

  1. spring boot配置文件application.properties配置JPA以及数据源

    1.application.properties配置jpa模板 spring.datasource.url=jdbc:mysql://localhost:3306/springboottest?use ...

  2. spring boot 使用application.properties 进行外部配置

    application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量,这样的作用在于,打成war包或者jar用于生产环境时,我们可以手动修改环 ...

  3. Spring Boot2 系列教程(四)理解Spring Boot 配置文件 application.properties

    在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml . 虽然 properties 文件比较常见,但是相对于 properties 而言,ya ...

  4. Spring Boot 项目 application.properties配置说明

    #======================================================================================# ★☆★☆★☆★☆★☆ ...

  5. Spring boot 的application.properties 全局配置

    端口号.项目名称 application.properties: server.port=8888 server.context-path=/start 日志相关的配置 # 自定义日志配置路径 log ...

  6. Spring Boot 框架学习 (一)配置并运行Spring Boot 框架

    下载开发工具: 下载完成打开以后,第一步检查环境 查看jdk是否配置: 接着一定要注意,maven通常情况下它是没有给你配置的,要自行配置: 右键新建: 然后依赖选择web.跟Mybatis就行了. ...

  7. Spring Boot Dubbo applications.properties 配置清单

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 与其纠结,不如行动学习.Innovate ,And out execute ! 』 本文 ...

  8. spring boot +mybatis(通过properties配置) 集成

    注:日常学习记录贴,下面描述的有误解的话请指出,大家一同学习. 因为我公司现在用的是postgresql数据库,所以我也用postgresql进行测试 一.前言 1.Spring boot 会默认读取 ...

  9. Spring boot配置文件application.properties和bootstrap.properties的区别

    spring boot 有两种配置文件 (1)application.properties(application.yml) 系统级别的一些参数配置,这些参数一般是不会变动的 (2)bootstrap ...

随机推荐

  1. R parallel包实现多线程1

    并行执行 Yes! Well done! Socket clusters are initialized without variables, so a_global_var wasn't found ...

  2. 广度优先搜索(Breadth First Search, BFS)

    广度优先搜索(Breadth First Search, BFS) BFS算法实现的一般思路为: // BFS void BFS(int s){ queue<int> q; // 定义一个 ...

  3. pytest学习5-mark用例分类

    使用Mark标记测试用例 通过使用pytest.mark你可以轻松地在测试用例上设置元数据.例如, 一些常用的内置标记: skip - 始终跳过该测试用例 skipif - 遇到特定情况跳过该测试用例 ...

  4. 记录 shell学习过程(2) read的用法

    echo -n "login:"read username  #read后面直接使用一个变量用于接收输入的数据 echo -n "password:"read ...

  5. EF CodeFirst数据注解特性详解

    数据注解特性是.NET特性,可以在EF或者EF Core中,应用于实体类上或者属性上,以重写默认的约定规则. 在EF 6和EF Core中,数据注解特性包含在System.ComponentModel ...

  6. Django REST framework快速入门(官方文档翻译翻译)

    开始 我们将创建一个简单的API来允许管理员用户查看和编辑系统中的用户和组. 项目设置 创建一个新的django项目,命名为:<tutorial>,然后创建一个新的应用程序(app),命名 ...

  7. MVC5+EF6 入门完整教程2 :从前端UI开始

    MVC分离的比较好,开发顺序没有特别要求,先开发哪一部分都可以,这次我们主要讲解前端UI的部分. ASP.NET MVC抛弃了WebForm的一些特有的习惯,例如服务器端控件,ViewState这些东 ...

  8. 命令行(二):Anaconda3

    1,进入base虚拟环境 $:activate 2,创建虚拟环境(自动下载Python3最新版本) $:conda create -n <virtual_name> python= 3,切 ...

  9. 2019HDU多校第一场1001 BLANK (DP)(HDU6578)

    2019HDU多校第一场1001 BLANK (DP) 题意:构造一个长度为n(n<=10)的序列,其中的值域为{0,1,2,3}存在m个限制条件,表示为 l r x意义为[L,R]区间里最多能 ...

  10. Zigbee 与 WiFi 的区别

    zigbee 在蓝牙技术的使用过程中,人们发现蓝牙技术尽管有许多优点,但仍存在许多缺陷.对工业,家庭自动化控制和遥测遥控领域而言,蓝牙技术显得太复杂,功耗大,距离近,组网规模太小等,……而工业自动化对 ...