一.Properties与Yaml

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

yaml简单使用

1.yaml简介

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

2.yaml基本语法

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

例子:

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

值的写法

k: v 直接书写

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

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

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

对象

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

例如:

 persion:
name: zhangsan
age:

行内写法:

persion: {name: zhangsan,age: }

数组(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:
isMan: true
birth: //
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=

更改上下文访问路径,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 日志换行

日志使用例子:

public class Hello {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Hello.class);
logger.debug("Hello World");
}
}

日志的输出格式:

%d:表示日期时间

%thread:表示线程名

%‐5level:级别从左显示5个字符宽度      

%logger{}:表示logger名字最长50个字符,否则按照句点分割。   

%msg:日志消息

%n:是换行符 

%d{yyyy‐MM‐dd HH:mm:ss.SSS} [%thread] %‐5level %logger{} ‐ %msg%n

例子:

设置application.properties的日志配置

# 设置日志等级
logging.level.com.fjut.*=trace # 设置在控制台输出的日志的格式
logging.pattern.console=[%d{yyyy‐MM‐dd}]-[%level]-[%msg]-%logger{}%n # 指定文件中日志输出的格式
logging.pattern.file=%d{yyyy‐MM‐dd} === [%thread] === %level === %logger{} ==== %msg%n
# 设置输出日志文件
logging.file=/my.log

测试:

//打印五个等级的日志
@Test
public void contextLoads() {
Logger logger = LoggerFactory.getLogger(getClass());
logger.error("error ...");
logger.warn("warn ...");
logger.debug("debug ...");
logger.info("info ...");
logger.trace("trace ...");
}

SpringBoot2 配置的更多相关文章

  1. 【2.0】SpringBoot2配置Druid数据源及监控

    什么是Druid? Druid首先是Java语言中最好的数据库连接池,也是阿里巴巴的开源项目.Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池, ...

  2. SpringBoot2配置prometheus浏览器访问404

    背景:SpringBoot2的项目要配置 actuator + prometheus的健康检查,按照教程配置好之后再浏览器测试 http://localhost:port/prometheus 后40 ...

  3. SpringBoot2 配置多数据源,整合MybatisPlus增强插件

    本文源码:GitHub·点这里 || GitEE·点这里 一.项目案例简介 1.多数据简介 实际的项目中,经常会用到不同的数据库以满足项目的实际需求.随着业务的并发量的不断增加,一个项目使用多个数据库 ...

  4. springboot2 配置 https

    package cn.xiaojf.aibus.configure; import org.apache.catalina.Context; import org.apache.catalina.co ...

  5. springboot2配置druid数据库连接池

    注意配置以下的依赖: <!-- 引入druid数据源--> <dependency> <groupId>com.alibaba</groupId> &l ...

  6. 从零开始学springboot-2.配置项目

    ### 配置项目 #### 将application.properties改名为application.yml #### 在resources文件夹中(和上面那个配置文件同一路径下)新建一个文件app ...

  7. Spring Boot 数据库连接池 Druid

    简介 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问 ...

  8. 前后端分离 vue+springboot 跨域 session+cookie失效问题

    环境: 前端 vue   ip地址:192.168.1.205 后端 springboot2.0  ip地址:192.168.1.217 主要开发后端. 问题: 首先登陆成功时将用户存在session ...

  9. springboot+swagger接口文档企业实践(上)

    目录 1.引言 2.swagger简介 2.1 swagger 介绍 2.2 springfox.swagger与springboot 3. 使用springboot+swagger构建接口文档 3. ...

随机推荐

  1. linux的!的用法

    !的用法:1.!!:代表上一条命令,如下: 示例一: ./some-shell-command cat !! (相当于cat ./some-shell-command) 示例二: cd /user ! ...

  2. mybatis学习二 全局配置文件常用配置

    全局配置文件的详细解析可以参考mybatis的中文参考文档 1.全局配置文件中内容1.1 <transactionManager/> type 属性可取值1.1.1 JDBC,事务管理使用 ...

  3. PHP删除空格函数

    删除空格或其他字符的相关函数 ltrim函数 描述:实现删除字符串开始位置的空格或其他字符 语法:string ltrim(string $str [,string $charlist]) 说明:ch ...

  4. MySQL中使用SHOW PROFILE命令分析性能的用法整理

    show profile是由Jeremy Cole捐献给MySQL社区版本的.默认的是关闭的,但是会话级别可以开启这个功能.开启它可以让MySQL收集在执行语句的时候所使用的资源.为了统计报表,把pr ...

  5. IDEA导入MySQL包

    点击[Project Structure] 点击[Modules]   在点击下面的界面   找到自己下载的MySQL包就OK了  

  6. linux vi操作

    1.“i”键,进入编辑状态.可以看到命令的下方出现了“--INSERT--”字样,表示成功进入了编辑模式; 2.“Esc”键,退出编辑模式.并在此时输入“:wq”以退出并保存

  7. 假期训练八(poj-2965递归+枚举,hdu-2149,poj-2368巴什博奕)

    题目一(poj-2965):传送门 思路:递归+枚举,遍历每一种情况,然后找出最小步骤的结果,与poj-1753类似. #include<iostream> #include<cst ...

  8. App测试基本流程详解(汇总整理)

    前言 看过许多大神对APP测试的理解,博主总结了一下我们平时测试APP应该注意的一些测试点并结合大神的理解,总结出这篇文章. 一.测试周期 测试周期一般为两周,根据项目情况以及版本质量可适当缩短或延长 ...

  9. openstack的网络、子网、端口的关系

    network network 是一个隔离的二层广播域.Neutron 支持多种类型的 network,包括 local, flat, VLAN, VxLAN 和 GRE. locallocal 网络 ...

  10. java学习2打架代码编写

    在同一个包中的Player类 package work; public class Player { private String name; private int hp; private int ...