Spring 和 SpringBoot 开发流程图对比
- Spring应用开发流程
- Spring Boot应用开发流程
- Spring Boot核心特性 :
- 极低的学习成本
- 可独立运行的Spring项目。
- “习惯优于配置”,极大的提高了开发效率。
- 极简的组件依赖,自动发现与自动装配。
- 提供运行时的应用监控
- 与分布式架构和云计算的天然集成
- Spring Boot目录结构 :
① 通过Maven创建SpringBoot项目
- 配置 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>
<groupId>com.oym</groupId>
<artifactId>my_springboot</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<artifactId>spring-boot-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.1.7.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.7.RELEASE</version>
</plugin>
</plugins>
</build>
</project>
- 然后依次创建相应的包,文件
② 重点: 通过IDEA提供的 Spring Initializr 进行创建
选择 Web -> Spring Web 生成的文件和配置,和上面 Maven 配置的一模一样(并附带了JUnit依赖)
Spring Boot 入口类
- 入口类命名通常以 *Application 结尾
- 入口类上增加 @SpringBootApplication 注解
- 利用 SpringApplication.run() 方法启动应用
Spring Boot 启动流程
Spring Boot中的常用配置 (在application.properties中更改配置)
- application.properties 样例配置如下:
#更改端口号
server.port=80
#更改访问页面应用上下文
server.servlet.context-path=/myspringboot
#配置日志打印位置
logging.file.path=o:/my_springboot02.log
#debug(调试日志) - > info(默认) -> warn(警告信息) - > error(异常类) - > fatal(灾难性后果) (等级依次递增)
logging.level.root=info
debug=false
# debug为 true时,会自动调试,并打印调试信息
#配置数据库相关信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=666666
!!! 出现问题:直接用 application.properties 配置各种信息会造成代码易出错,不易维护
解决方案如下:
Spring Boot 支持两种配置文件
- 属性文件: application.properties
- YAML格式: application.yml
YAML的语法
YAML是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使
得表示更加简洁易读。
- YAML的格式语法
- 标准格式: key:(空格)value
- 使用空格代表层级关系,以 “:” 结束
- application.yml 样例配置如下:
debug: true
#logging.level.root
#logging.file
logging:
level:
root: info
file:
path: o:/my_springboot.log
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
data-username: root
data-password: 666666
Spring Boot自定义配置项
- Spring Boot允许我们自定义应用配置项,在程序运行时允许动态加载,这为程序提供了良好的可维护性。
- 在实际项目开发中,我们通常将项目的自定义信息放在配置文件中。可通过 @Value获取指定配置信息。
Spring Boot 环境配置文件
- Spring Boot可针对不同的环境提供不同的 Profile文件。
- Profile文件的默认命名格式为 application-{env}.yml
- 使用spring.profiles.active选项来指定不同的profile。
例如 :
在 application.yml 中选择 profile文件
打包与运行
- 利用 Maven 的 package 命令,生成可独立运行的 Jar 包。
- 利用 java -jar xx.jar 命令启动 Spring Boot 应用。
- Jar 包可自动加载同目录的 application 配置文件。
- 未完待续。。。