设计目的
SpringBoot
虽然干掉了 XML
,但未做到零配置,它体现出了一种约定优于配置,也称作按约定编程,是一种软件设计范式 。
一般情况下默认的配置足够满足日常开发所需,但在特殊的情况下,我们往往需要用到自定义属性配置、自定义文件配置、多环境配置、外部命令引导等一系列功能。这些只需要遵循 SpringBoot
的规则配置即可 。
常用配置举例
在application.properties
中修改:
#server.port = # 修改端口号 默认为8080
#server.address = # bind to a specific NIC
#server.session-timeout= # session timeout in seconds
#the context path, defaults to '/'
#server.servlet.context-path = /springboot # 修改context-path 默认为 /
#server.servlet-path= # the servlet path, defaults to '/'
#server.tomcat.access-log-pattern= # log pattern of the access log
#server.tomcat.access-log-enabled=false # is access logging enabled
#server.tomcat.protocol-header=x-forwarded-proto # ssl forward headers
#server.tomcat.remote-ip-header=x-forwarded-for
#server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
#server.tomcat.background-processor-delay=30; # in seconds
#server.tomcat.max-threads = 0 # number of threads in protocol handler
#server.tomcat.uri-encoding = UTF-8 # character encoding to use for URL decoding
推荐使用:application.yml
修改server配置:
修改端口号
修改context-path 默认为 /
server:
port: 8888
servlet:
context-path: /springboot
上面的不用重复写,但是冒号后面必须有空格 。
一、配置文件
– SpringBoot 使用一个全局的配置文件
• application.properties
• application.yml
– 配置文件放在 src/main/resources
目录或者类路径 /config
下
– .yml
是 YAML(YAML Ain’t Markup Language)语言的文件,以数据为中心,比 json、xml 等更适合做配置文件
- http://www.yaml.org/ 参考语法规范
– 全局配置文件的可以对一些默认配置值进行修改
YAML:配置例子
server:
port: 8081
XML:配置例子
<server>
<port>8081</port>
</server>
配置文件的作用:修改 SpringBoot 自动配置的默认值;SpringBoot 在底层都给我们自动配置好。
二、YAML 语法
1、YAML 基本语法
- 使用缩进表示层级关系
- 缩进时不允许使用 Tab 键,只允许使用
空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
大小写敏感
2、YAML 支持的三种数据结构
- 对象:键值对的集合
- 数组:一组按次序排列的值
- 字面量:单个的、不可再分的值
YAML常用写法
对象(Map)
- 对象的一组键值对,使用冒号分隔。如:username: admin
- 冒号后面跟
空格
来分开键值 - {k: v}是行内写法
# 方式一
maps:
k1: v1
k2: v2
# 方式二
maps: {k1: v1,k2: v2}
数组(List、Set)
- 一组连词线(
-
)开头的行,构成一个数组,[]
为行内写法 - 数组,对象可以组合使用
- 一组连词线(
# 方式一
lists:
- yang1
- yang2
- yang3
# 方式二
lists: [yang1,yang2,yang3]
-
复合结构
:以上写法的任意组合都是可以 -
字面量
- 数字、字符串、布尔、日期
- 字符串
- 默认不使用引号
- 可以使用单引号或者双引号,单引号会转义特殊字符
- 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格
-
文档
- 多个文档用
- - -
隔开
- 多个文档用
注意: Spring Boot使用 snakeyaml 解析 yml 文件; https://bitbucket.org/asomov/snakeyaml/wiki/Documentation#markdown-header-yamlsyntax 参考语法