感受:简化的很多配置文件,内嵌了Tomcat,默认使用 properties或者yml(建议) 类型的文件来配置
极简的组件依赖,自动发现与自动装配,提供运行时的应用监控,与分布式架构和云计算的天然集成。
目录
原有Spring 开发流程
使用Spring Boot 开发流程
创建一个SpringBoot项目(与普通maven一样)
简单的配置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.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.imooc</groupId>
<artifactId>myspringboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>myspringboot</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 Boot 目录结构
Spring Boot入口类
入口类命名通常以*Application结尾。
入口类上增加@SpringBootApplication注解
利用SpringApplication.run()方法启动应用
例如:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyspringbootApplication {
public static void main(String[] args) {
// 启动项目
SpringApplication.run(MyspringbootApplication.class, args);
}
}
Spring Boot启动流程
Spring Boot中的常用配置
配置名称 | 默认值 | 描述 |
---|---|---|
server.port | 80 | 端口号 |
server.servlet.context-path | / | 设置应用上下文 |
logging.file | 无 | 日志文件输出路径 |
logging.level | info | 最低日志输出级别 |
debug | false | 开启/关闭调试模式 |
spring.datasource.* | 与数据库相关的设置 | |
... | ... |
Spring Boot支持两种配置文件
属性文件:application.properties
YAML格式: application.yml (推荐)
YAML的语法
YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。
YAML语法格式
标准格式:key:(空格)value
使用空格代表层级关系,以“:”结束
application.properties:
server.port=80
server.servlet.context-path=/myspringboot
logging.file=d:/myspringboot.log
#debug->info->warn->erroe->fatal
logging.level.root=info
#开启debug模式
debug=true
#配置数据库信息数据
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/oa
spring.datasource.username=root
spring.datasource.password=root
application.yml(推荐):
debug: true
logging:
level:
root:info
file: d:/myspringboot.log
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/oa
username: root
password: root
Spring Boot自定义配置项
Spring Boot允许我们自定义应用配置项,在程序运行时允许动态加载,这为程序提供了良好的可维护性。
在实际项目开发中,我们通常将项目的自定义信息放在配置文件中。
环境配置文件
Spring Boot可针对不同的环境提供不同的Profile文件。
Profile文件的默认命名格式为application-{env}.yml
使用spring.profiles.active选项来指定不同的profile。
例如: 项目里面 dev.yml为开发环境 prd为生产环境
application.yml 配置:
spring:
profiles:
active: prd
application-dev.yml 配置:
debug: true
logging:
level:
root: info
file: d:/myspringboot.log
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/oa
username: root
password: root
application-prd.yml 配置:
server:
port: 80
debug: false
logging:
level:
root: info
file: C:\Users\Yuqiang\Desktop\123.log
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/oa
username: root
password: root
修改application.yml中的 active: {env} 可以随意切换配置