1.通过spring initializer建立一个项目
2.项目文件分析
2.1 pom.xml
pom.xml的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.demo</groupId>
<artifactId>learning02</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>learning02</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
可以看到,通过spring initializer创建的项目,pom.xml文件中引入了单元测试模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.2 source文件夹
使用sping initializer创建的项目有一个source文件夹,其中:
文件名 | 文件功能 |
---|---|
static | 保存所有的静态资源(js,css,images) |
templates | 保存所有的模板页面 Spring Boot默认jar包使用嵌入式的tomcat,默认不支持JSP页面 可以使用模板引擎(freemarker等) |
application.properties | spring boot的配置文件,可以修改一些默认设置 |
例如在application.properties中写入下面的语句:
server.port=8081
可以将服务器的端口号改为8081
3.Spring Boot配置
spring boot的全局配置文件为:
- application.properties
- application.yml
- 配置文件的作用:修改之前自动配置好的默认值
- yml是YAML(YAML Ain’t Markup Language)的缩写。YAML以数据为中心,比json和xml更适合做配置文件
- yml语言中,对空格的使用有严格的要求
关于对“以数据为中心”的说明,以设置服务器端口号为例,yml和xml的配置区别如下:
YML:
server:
port: 8081
XML:
<server>
<port>8081</port>
</server>
3.YAML语法
1.基本语法
数字、字符、布尔数值:
[k:[空格]v]表示一对键值对;
以空格的缩进来控制层级关系,只要是左对齐的一列数据就是同一层级的
大小写有区分
字符串默认不用加上单引号或双引号
双引号转义特殊字符,单引号转义特殊字符
例如:
server:
port: 8081
path: /hello
注意,上面的写法是port:[空格]8081
对象、Map(属性和值)(键值对):
user:
name: Tom
age: 8
user: {name: Tom,age: 8}
数组(List、Set):
fruits:
- apple
- banana
- strawberry
注意,这里是 -[空格]apple,中间有个空格。同时也可以写为:
fruits: [apple,banana,strawberry]