SpringBoot使用一个全局的配置文件,配置文件名是固定的;
•application.properties
•application.yml
配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

YAML的简介:

YAML(YAML Ain't Markup Language)
​ YAML A Markup Language:是一个标记语言
​ YAML isn't Markup Language:不是一个标记语言;
标记语言:
​ 以前的配置文件;大多都使用的是 **xxxx.xml**文件;
​ YAML:**以数据为中心**,比json、xml等更适合做配置文件;

如果配置端口:

YAML:

server:
port:8089

XML:

<server>
<port>8081</port>
</server>

YAML的基本语法:

基本语法:
k:(空格)v:表示一堆键值对,必须有空格!!!
以空格的缩进来控制层级关系:只要再同一列的数据可都是一个层级

注意:大小写敏感

值得写法
#### 字面量:普通的值(数字,字符串,布尔)
​ k: v:字面直接来写;
​ 字符串默认不用加上单引号或者双引号;
​ "":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
​ name: "zhangsan \n lisi":输出;zhangsan 换行 lisi
​ '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
​ name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi

对象、Map(属性和值)(键值对):

​k: v:在下一行来写对象的属性和值的关系;注意缩进
​ 对象还是k: v的方式
friends: 对象
lastName: zhangsan 属性
age: 20 或者:
friends: {lastName: zhangsan,age: 18}

数组(List、Set):

用-(空格)值表示数组中的一个元素
pets:
- cat
- dog
- pig 或者:pets: [cat,dog,pig]

配置文件的注入

编写快捷键:

Alt+insert  :加入类的set和get 方法,以及toSrting 的重写

package com.quan.qiang.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import java.util.Date;
import java.util.List;
import java.util.Map; /***
* 将配置文件夹得每个属性得值,映射到这个组件当中去
*@ConfigurationProperties 高数Spring boot
* 将本类中得所有属性和配置文件中相关配置进行绑定
* prefix = "person" 指定配置文件中哪个下面得所欲呕属性进行一对一映射
* 只有这个组件时容器中得组件,才能容器提供得@ConfigurationProperties功能
*/ @Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth; private Map<String ,Object> maps;
private List<Object> lists;
private Dog dog; @Override
public String toString() {
return "Person{" +
"lastName='" + lastName + '\'' +
", age=" + age +
", boss=" + boss +
", birth=" + birth +
", maps=" + maps +
", lists=" + lists +
", dog=" + dog +
'}';
} public String getLastName() {
return lastName;
} public void setLastName(String lastName) {
this.lastName = lastName;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public Boolean getBoss() {
return boss;
} public void setBoss(Boolean boss) {
this.boss = boss;
} public Date getBirth() {
return birth;
} public void setBirth(Date birth) {
this.birth = birth;
} public Map<String, Object> getMaps() {
return maps;
} public void setMaps(Map<String, Object> maps) {
this.maps = maps;
} public List<Object> getLists() {
return lists;
} public void setLists(List<Object> lists) {
this.lists = lists;
} public Dog getDog() {
return dog;
} public void setDog(Dog dog) {
this.dog = dog;
}
}
package com.quan.qiang.bean;

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;
}
}

配置文件:

server:
port: 8081 person:
lastname: quan
age: 22
boss: false
birth: 2020/11/11
map: {k1: v1,k2: 12}
lists:
- lisi
- zhaoliu
dog:
name: 小邹
age: 2

测试文件:

package com.quan.qiang;

import com.quan.qiang.bean.Person;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; /***
* SpringBoot的单元测试
* 可以再测试时间方便的进行租入
*/
@RunWith(SpringRunner.class)
@SpringBootTest
class QiangApplicationTests { @Autowired
Person person; @Test
void contextLoads() {
System.out.println(person);
} }

注意:需要导入配置文件处理器组件:

pom.xml文件加入依赖,重启Sprint Boot

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

运行测试结果:

Person{lastName='quan', age=22, boss=false, birth=Wed Nov 11 00:00:00 CST 2020, maps=null, lists=[lisi, zhaoliu], dog=Dog{name='小邹', age=2}}

Spring-boot-菜鸟-配置-简介的更多相关文章

  1. 转:spring boot log4j2配置(使用log4j2.yml文件)---YAML 语言教程

    转:spring boot log4j2配置(使用log4j2.yml文件) - CSDN博客http://blog.csdn.net/ClementAD/article/details/514988 ...

  2. 第64节:Java中的Spring Boot 2.0简介笔记

    Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...

  3. Spring Boot Security配置教程

    1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设 ...

  4. 玩转spring boot——properties配置

    前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连 ...

  5. Spring Boot 属性配置和使用

    Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...

  6. Spring Boot 属性配置和使用(转)

    Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...

  7. Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置

    该篇为Sping Boot入门到实战系列入门篇的第四篇.介绍Spring Boot自动化配置的基本原理与实现.   Spring Boot之所以受开发者欢迎, 其中最重要的一个因素就是其自动化配置特性 ...

  8. Springboot 系列(三)Spring Boot 自动配置原理

    注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 关于配置文件可以配置的内容,在 Spring ...

  9. Spring Boot自动配置与Spring 条件化配置

    SpringBoot自动配置 SpringBoot的自动配置是一个运行时(应用程序启动时)的过程,简化开发时间,无需浪费时间讨论具体的Spring配置,只需考虑如何利用SpringBoot的自动配置即 ...

  10. Spring Boot自动配置原理、实战

    Spring Boot自动配置原理 Spring Boot的自动配置注解是@EnableAutoConfiguration, 从上面的@Import的类可以找到下面自动加载自动配置的映射. org.s ...

随机推荐

  1. python-xlutils模块-修改excel

    前言 xlrd库用于读取excel文件中的数据,xlwt库用于将数据写入excel文件,修改用xlutils模块: xlutils库也仅仅是通过复制一个副本进行操作后保存一个新文件,像是xlrd库和x ...

  2. Java线程池进阶

    线程池是日常开发中常用的技术,使用也非常简单,不过想使用好线程池也不是件容易的事,开发者需要不断探索底层的实现原理,才能在不同的场景中选择合适的策略,最大程度发挥线程池的作用以及避免踩坑. 一.线程池 ...

  3. 可视化BI工具如何选择?这2款省心省时又省力!

    ​随着大数据时代的到来,越来越多企业开始意识到数据的重要性.商业智能BI工具也如雨后春笋般不断涌现,如何选择BI工具倒成了企业急需解决的难题.BI工具的选择要具体问题具体分析,但大部分企业在选择BI工 ...

  4. kubernetes用户使用token安全认证教程

    kubernetes server account的token很容易获取,但是User的token非常麻烦,本文给出一个极简的User token生成方式,让用户可以一个http请求就能获取到. to ...

  5. Oracle账户被锁:the account is locked

    转至:https://blog.csdn.net/weixin_37615080/article/details/80400239?utm_medium=distribute.pc_relevant_ ...

  6. kippo: 一款强大的SSH蜜罐工具

    Kippo的安装 git clone https://github.com/desaster/kippo.git # 无法运行git命令,请先安装 yum -y install git由于我使用这个命 ...

  7. JZ-060-把二叉树打印成多行

    把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 题目链接: 把二叉树打印成多行 代码 import java.util.ArrayList; impor ...

  8. matlab图形中添加文本框

    图形中添加文本框,自己目前了解到了两种方法:1.用legend函数就可以对图形标注,形成一个文本框: 2.就是用annotation('textbox',[0.2,0.2.0.1,0.3],'Line ...

  9. laravel 框架简易增删改查

    参看网址:http://www.yan.com/mou/add 图书增加HTML页面 //图书增加路由 Route::get('mou/add','MouController@store'); //控 ...

  10. 微信公众号客服接口:out of response count limit 的原因

    调用客服消息接口返回如下:                                                                                       ...