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

SpringBoot2 配置

程序员文章站 2022-04-27 18:43:37
...

一.Properties与Yaml

SpringBoot支持properties与yaml两种配置文件application.properties/application.yml

yaml简单使用

1.yaml简介

yaml是以数据为中心的,比json,xml更适合做配置文件

2.yaml基本语法

k: v:形式的键值对,:后面必须有空格
以空格缩进来控制层级关系
大小写敏感

例子:

server:
  port: 8081 # 设置默认端口号
  servlet:
    path: /init

值的写法

k: v 直接书写

【字符串默认不用加上单引号或者双引号】

"":双引号;不会转义字符串里面的特殊字符;

'':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

对象

k: v:在下一行来写对象的属性和值的关系

例如:

 persion:
          name: zhangsan
          age: 10

行内写法:

persion: {name: zhangsan,age: 10}

数组(List,Set,Map)

普通数组,List,Set 使用 -值 来表示数组中的一个元素

arrays:
  - arrays1
  - arrays2
  - arrays3

Map使用k: v的形式来表示

map:
  k1: v1
  k2: v2
  k3: v3

使用配置文件注入

在pom.xml引入依赖,用于注释处理器生成自己的元数据

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

实体类:

/**
 * persion类
 */
@Component
@ConfigurationProperties(prefix = "persion")
public class Persion {

    private String name;
    private int age;
    private boolean isMan;
    private Date birth;

    private String[] hobbys;
    private Map<String,String> skills;
    private List<String> enjoys;

    // 省略getter setter toString

}

yaml配置:

persion:
  name: zhangsan
  age: 20
  isMan: true
  birth: 1997/11/12
  hobbys:
    - 篮球
    - 足球
    - 乒乓球
  skills:
    java: javase
    python: ai
  enjoys:
    - eating
    - running
    - playgames

测试类

@Autowired
    Persion persion;

    @Test
    public void contextLoads() {
        System.out.println(persion);
    }

yaml语法教程 
http://www.ruanyifeng.com/blog/2016/07/yaml.html

二.服务器配置

更改端口:

server.port=8081

更改上下文访问路径,SpringBoot默认范文路径为“/”:

server.servlet.context-path=/base

常见的服务器配置

server.port:SpringBoot监听端口
server.error.path:错误处理路径
server.servlet.context-path:配置SpringBoot默认上下文路径

三 日志配置
定义日志级别
日志级别 ERROR WARN DEBUF INFO TRACE 级别从高到低

# 输出日志级别 ERROR WARN DEBUF INFO TRACE,日志只会打印当前级别,以及高于当前级别的日志
logging.level.root=info

输出日志到文件

logging.file=/my.log

定义日志输出格式
输出到控制台日志格式:

logging.pattern.console=【%level %date %logger %thread %M %L %m】 %n

输出到日志文件的日志格式:

logging.pattern.file=【%level %date %logger %thread %M %L %m】 %n

日志格式基本参数

属性    内容
%level    表示输出日志级别
%date    表示日期发生时的时间
%logger    用于输出Logger名字,包名+类名,{n}限定输出长度
%thread    当前线程名
%M    日志发生时方法的名字
%L    日志调用所在代码行
%m    日志消息
%n    日志换行