1.properties配置文件
#修改上下文路径
server.servlet.context-path=/springBoot01
#修改端口号
server.port=8080
#数据库的配置信息
spring.datasource.name=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.password=123456
2.yml配置文件
- 语法规则
大小写敏感
使用缩进表示层级关系
相同的部分只能出现一次
缩进时不允许使用Tab键,只允许使用空格
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
#表示注释
#设置端口号
server:
port: 8089
#设置上下文路径
servlet:
context-path: /SpringBoot01
#数据源配置信息
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
Yaml支持的数据结构有三种
对象:键值对的集合,又称为映射(mapper)/哈希(hashes)/字典(dictionary)
数组:一组按次序排列的值,又称为序列(sequence)/列表(list)
纯量(scalars):单个的,不可再分的值
- 对象
语法规则
使用冒号:
对象名:值
使用缩进:
对象名:
属性名1:值
属性名2:值
#配置对象类型数据
person:
name: ggg
age: 18
sex: 男
#写出Json格式
person2: {name: ggg,age: 18}
- 数组
语法格式
使用一个短横线加一个空格代表一个数据项
数组名:
- 数组值
- 数组值
#配置数组类型
city:
- chongqing
- lanzhou
- shanghai
#或
city2: [chongqing,lanzhou,shanghai]
- 纯量
包括数组,浮点数,字符串,null,日期,布尔,时间
Boolean:
- true
float:
- 3.14
null:
- parent:~ 使用~表示空
date:
- 2018-12-12 必须使用yyyy-MM-dd的格式
注:如果yaml和properties在统一目录下,则properties的优先级大于yaml,如果统一配置属性,在多个配置文件都配置了,默认使用第一个读取到的,后面读取的不覆盖前面读取的
配置文件存放的位置
- 当前项目下(不推荐)
- 当前项目的子目录中(在项目下创建文件夹,放入新建的文件夹中)
- 默认位置
- 可以在resources下创建文件夹,放入新建的文件夹中
配置文件的读取优先级
当前项目根目录下的文件>当前项目根路径下>项目的resources下的文件夹>项目的resources下
4.bootstrap配置文件
Spring Boot中有两种上下文对象,一种是bootstrap,另一种是application,bootstrap是应用程序的父上下文对象,也就是说bootstrap加载优先于application。bootstrap主要用于从外部的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,他是任何Spring应用程序的外部属性的来源,bootstrap里面的属性会优先加载,默认也不会被本地相同配置覆盖
bootstrap配置文件特征
- bootstrap由父ApplicationContext加载,比application优先加载
- bootstrap里面的属性不能覆盖
bootstrap与application的应用场景
application配置文件主要用于Spring Boot项目的自动化配置
bootstrap配置文件有一下几个应用场景
- 使用SpringCloudConfig配置中心时,这时需要在bootstrap配置文件中添加连接到配置中心属性来加载外部配置中心的配置信息
- 一些固定的不能被覆盖的属性
- 一些加密/解密的场景
5.SpringBoot项目结构
main
Java:存放Java代码
resources
public :公共资源。所有共享的内容,对外公开的内容
static:静态资源。图片、JS、css。不能被服务器解析
JS
jquery.js访问:http//ip/port/js/jquery.js
注意:该目录是SpringBoot可以直接识别的目录,会将其中的静态资源编译到web项目中,并放到Tomcat中使用。静态资源的访问路径无需声明static.如localhost:8080/a.png
templates:里面放和页面有关的代码;如:FreeMarker thymeleaf JSP页面
webapp只有当页面使用jsp时才用
WEB-INF