一、@SpringBootApplication
此注解是加在项目的启动类上的。@SpringBootApplication实际上是一个组合注解。
由@SpringBootConfiguration + @EnableAutoConfiguration +@ComponentScan 这三个注解组成的
@SpringBootConfiguration本身就是一个 @Configuration配置类,开发者可以在这个类中配置配置Bean。
@EnableAutoConfiguration 表示开启自动化配置,在任意时刻,开发者都可以使用自定义配置代替自动化配置中的某一个配置。
@ComponentScan完成包扫描,也属于Spring中的功能。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class PracticeApplication {
public static void main(String[] args) {
SpringApplication.run(PracticeApplication.class, args);
}
}
二、Web容器配置
在SpringBoot项目汇总,可以内置Tomcat,Jetty,Undertow,Netty等容器。当开发者添加类spring-boot-starter-web依赖后,默认会使用Tomcat作为Web容器。如果需要对于Tomcat做进一步配置,可以在application.properties中进行配置,代码如下
#配置Web容器的端口号
server.port=8081
#配置当项目出错时跳转的页面
server.error.path=/error
#配置session失效时间,30m代表30分钟
server.servlet.session.timeout=30m
#context-path表示项目名称,不配置时默认为/
server.servlet.context-path=/chapter02
#配置Tomcat请求编码
server.tomcat.uri-encoding=UTF-8
#basedir是一个存放Tomcat运行日志和临时文件的目录
server.tomcat.basedir=/home/sang/tmp
三、YAML配置
YAML是JSON的超集,简洁而且强大,是一种专门用来书写配置文件的语言,可以替代application.properties。在创建项目时,引入了spring-boot-starter-web简洁地引入类snakeyaml依赖来实现对于YAML配置的解析。YAML利用缩进来表示层级关系,并且大小写敏感。在resource目录中创建application.yml并向其中添加如下来配置好数据库相关。
spring:
datasource:
url: jdbc:mysql://localhost:3306/sp
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
此时可以将resource目录下的application.properties文件删除,完全使用YAML完成文件的配置。开发者可以在application.yml中注入基本数值,对象,Map和数组等
YAML基础语法:
- 1.空格不可省略
- 2.以锁进来控制层级关系,只要左边对齐的一列数据都是同一个层级的
- 3.属性区分大小写十分敏感
PS:参考文献:《SpringBoot + VUE全栈开发》
部分内容借鉴 B站UP主狂神说JAVA系列视频