Spring Boot框架 - application.properties配置
阅读此文章之前,需要参考 https://www.cnblogs.com/mysummary/p/12238242.html 创建Spring Boot项目
建成后目录如下

一、在com.demo.springdemo包下新建两个类,bean.Dog 和 bean.Person 类(作测试用)
- 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; } - Dog类代码如下
public class Dog {
private String name;
private Integer age;
} - 在Person类和Dog类下分别使用⌘+N 快捷键调出 toString() 方法
- 在Person类和Dog类下分别使用⌘+N 快捷键调出 Getter and Setter 方法 【类中变量属性一般为private。这里之所以将变量属性设为private是为了引用该类时保证数据被其他类引用,提高数据的安全性。结合java的封闭性和安全性,不难看出这样这些变量按道理来说像是被封闭在该类里,为了引用这些变量,这里我们使用了set和get方法去操作变量(get用来取值,set用来修改变量值),既能提高封装型,也不失安全性】
- 完成后的代码如下(以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配置的更多相关文章
- spring boot配置文件application.properties配置JPA以及数据源
1.application.properties配置jpa模板 spring.datasource.url=jdbc:mysql://localhost:3306/springboottest?use ...
- spring boot 使用application.properties 进行外部配置
application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量,这样的作用在于,打成war包或者jar用于生产环境时,我们可以手动修改环 ...
- Spring Boot2 系列教程(四)理解Spring Boot 配置文件 application.properties
在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml . 虽然 properties 文件比较常见,但是相对于 properties 而言,ya ...
- Spring Boot 项目 application.properties配置说明
#======================================================================================# ★☆★☆★☆★☆★☆ ...
- Spring boot 的application.properties 全局配置
端口号.项目名称 application.properties: server.port=8888 server.context-path=/start 日志相关的配置 # 自定义日志配置路径 log ...
- Spring Boot 框架学习 (一)配置并运行Spring Boot 框架
下载开发工具: 下载完成打开以后,第一步检查环境 查看jdk是否配置: 接着一定要注意,maven通常情况下它是没有给你配置的,要自行配置: 右键新建: 然后依赖选择web.跟Mybatis就行了. ...
- Spring Boot Dubbo applications.properties 配置清单
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 与其纠结,不如行动学习.Innovate ,And out execute ! 』 本文 ...
- spring boot +mybatis(通过properties配置) 集成
注:日常学习记录贴,下面描述的有误解的话请指出,大家一同学习. 因为我公司现在用的是postgresql数据库,所以我也用postgresql进行测试 一.前言 1.Spring boot 会默认读取 ...
- Spring boot配置文件application.properties和bootstrap.properties的区别
spring boot 有两种配置文件 (1)application.properties(application.yml) 系统级别的一些参数配置,这些参数一般是不会变动的 (2)bootstrap ...
随机推荐
- pom.xml文件中dependency标签的scope子标签
1.最近整合了公司的一个项目A,而A又依赖项目B,项目B中pom.xml中有一个依赖的<scope>provided</scope>,查了一下,原来provided属性,jar ...
- mybatis(五):源码分析 - sqlsource创建流程
- ASP.NET Identity-验证与授权及管道事件
https://www.cnblogs.com/OceanEyes/p/thinking-in-asp-net-mvc-apply-asp-net-identity-authentication.ht ...
- Java实现图形界面的三部曲及IDE中的窗口设计
设计和实现图形用户界面的工作主要有以下几点: • (1)创建组件(Component) • 创建组成界面的各种元素,如按钮.文本框等.• (2)指定布局(Layout) • 根据具体需要排列它们的位置 ...
- 在vue中使用swiper4.x
需求 :实现一个左右两边有边距的轮播图vue+swiper4 轮播图左右两边含有上一张和下一张的一部分 先安装swiper: 1.npm install swiper 安装swiper 2.在入口 ...
- Codeforces Round #603 (Div. 2) C.Everyone is A Winner!
tag里有二分,非常的神奇,我用暴力做的,等下去看看二分的题解 但是那个数组的大小是我瞎开的,但是居然没有问题233 #include <cstdio> #include <cmat ...
- two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想
two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想, 如果能用这种思想解决问题,那么会大大降低程序的复杂度. 两个利用这个思想的例 ...
- python3练习100题——016
今天的题目比较容易了,旨在让人掌握datetime模块下的一些用法. 链接:http://www.runoob.com/python/python-exercise-example16.html 题目 ...
- Java第一个程序HelloWorld
1.创建一个java源文件:HelloWorld.java public class HelloWorld{ public static void main(String[] args){ Syste ...
- Python入门1 —— 初识Python
一:Python介绍 1.Python是什么? Python是一门编程语言,编程语言是一门语言. 语言就是一个事物与另一个事物沟通的工具. 而编程语言则是人与计算机沟通的介质. 2.为什么要跟计算机沟 ...