欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot配置文件详解

程序员文章站 2022-05-03 22:34:26
Spring Boot使用一个全局的配置文件 application.properties application.yml 配置文件放在src/main/java/resources目录或者类路径/config下,主要用yml写法。 yml语法 1.基本语法 k:(空格)v:(空格)表示一个键值对( ......

spring boot使用一个全局的配置文件

  • application.properties
  • application.yml

配置文件放在src/main/java/resources目录或者类路径/config下,主要用yml写法。

yml语法

  1.基本语法

    k:(空格)v:(空格)表示一个键值对(空格必须有)

    以空格的缩进来控制级层关系,只要左对齐的一系列数据,yml都会看成同一级别的

server:
  address: 8080

  属性和值也是大小写敏感;

  2.值的语法

字面量:普通的值(数字,字符串,布尔)

k:(空格)v 字面量的值

字符串默认不加单引号或双引号

 双引号,不会转移字符串里的特殊字符;特殊字符会作为本身想表达的意思

 name:(空格)“zhangsan \n lisi” 输出: zhangsan 换行 lisi

单引号 会转移字符串里的特殊字符;特殊字符不会作为本身想表达的意思

name:(空格)‘zhangsan \n lisi’ 输出: hangsan \n lisi

对象、map(值与属性)(键值对)

k:(空格)v 在下一行来写对象的属性和值的关系(注意缩进)

对象是以k:(空格)v的方式

friends:

lastname:(空格)zhangsan

age:(空格)20

行内写法

friends:(空格){lastname:(空格)zhangsan,age:(空格)20}

数组(list set)

  用-(空格)值来表示数组中的一个元素

    pests:

-(空格)cat

-(空格)dog

-(空格)pig

行内写法

pests:(空格)[cat,dog,pig]

先要加入依赖(重启生效):

        <!--导入配置文件处理器,配置文件进行绑定才会有提示-->
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-configuration-processor</artifactid>
            <optional>true</optional>
        </dependency>

 

application.yml文件写法(person小写)

person:
  lastname: zhangsan
  age: 18
  boss: true
  birth: 1998/12/12
  maps:
    k1: v1
    k2: v2
  lists:
    - lisi
    - zhangwu
  dog:
    name: 小虎
    age: 2

 

person代码:

@component
@configurationproperties(prefix = "person")
public class person {
    private string lastname;
    private integer age;
    private boolean boss;
    private date brith;

    private map <string ,object> maps;
    private list<object> lists;
    private dog dog;
  //setter和getter方法

 

dog代码:

public class dog {
    private string name;
    private integer age;
  //setter和getter方法

 

tets方法:

@runwith(springrunner.class)
@springboottest
public class hellowordquickapplicationtests {

    @autowired
    person person;
    @test
    public void contextloads() {
        system.out.println(person);
    }

}

 

运行结果为:(如果值位null,prefix = "person"重新写)

person{lastname='zhangsan', age=18, boss=true, brith=null, maps={k1=v1, k2=v2}, lists=[lisi, zhangwu], dog=dog{name='小虎', age=2}}