SpringBoot 第二天:配置文档

  • 日期: 2019/11/29
  • 作者: longtao
  • 分类: Java
  • 阅读: 108

一、配置文件

Spring Boot使用一个全局的配置文件,配置文件名是固定的:

  • application.properties
  • application.yml

配置文件的作用:修改Spring Boot的默认配置(默认spring boot在底层给我们配置好的)

标记语言:

  • 以前的配置文件是以 xxx.xml文件
  • YAML:以数据为中心,比jsonxml更加适合做配置文件。
  • YML:配置实例
server:
    port: 8081
  • XML的配置文件:
<server>
    <port>8081</port>
</server>

二、YML语法

1、基本语法

key: (空格)value:表示一对键值对(空格必须存在,不然会报错)

使用空格的缩进控制层级关系;只要左边对齐的数据,属于同一层次。

server: 
    port: 8081
    path: /hello 

其中,属性和路径都是属于同一级别的, 属性和值都是大小写敏感的

2、值的写法

字面量:普通的值(数字、字符串、布尔值等)
k: v:字面直接来写: * 字符串默认不加上单引号或者双引号 * " ":双引号不会转印字符串中的特殊字符串;特殊字符串也会做为本身想表达的意思。比如\n表示的换行 * ' ':单引号会转义特殊字符,特殊的字符最后只是做为一个普通的字符串进行展示。例如输入\n输出依旧是\n字符串。

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

k: v:在下一行来写对象的属性和值的关系。(注意缩进) * 对象还是k: v方式

friends:
   lastName: zhansan
   age: 20
  • 行内的写法:
friends: {lastName: zhansan,age: 18}

数组(List、Set):

在数组中使用-做为数组中的一个元素

pets:
- cat
- dog
- pig

行内写法:

pets: [cat,dog,pig]

三、配置文件的注入

配置文件:

person:
  lastName: zhansan
  age: 18
  boss: false
  birth: 2018/12/12
  maps: {k1: v1,k2: v2}
  lists:
    - lisi
    - zhaoliu
  dog:
    name: 小狗
    age: 2

javaBean中的设置

/**
 * 将配置文件中配置的每一个属性的值,映射找这个组件中
 * @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;

我们也可以在pom.xml中导入配置文件管理器,用来提示配置文件的输入:

<!--导入配置文件处理器,配置文件进行绑定就会有相应的提示 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

properties中的配置

# idea配置文件为utf-8,在file encodins中设置为在运行时转换为ascii码
#设置person
person.last-name=张三
person.age=18
person.birth=2018/12/12
person.boss=false
person.maps.k1=v1
person.lists=a,b,c
person.dog.name=dog
person.dog.age=15

相关文章:

  1. 第一天:学习SpringBoot的基础知识
  2. 不存在

提交评论

请先 后进行评论

评论列表

共有0评论