简 介
Spring Boot是一个构建在Spring框架顶部的项目。它提供了一种简便,快捷的方式来设置,配置和运行基于Web的简单应用程序。
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_961c3220-7834-11ed-b9a2-38f9d3cd240d.png)
在Spring Boot不需要XML配置(部署描述符)。它使用约定优于配置软件设计范例,可以减少开发人员的工作量。
SpringBoot体系结构
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_962a074c-7834-11ed-b9a2-38f9d3cd240d.png)
展示层:表示层负责处理HTTP请求,将JSON参数转换为对象,并对请求进行身份验证并将其传输到业务层。简而言之,它由视图即前端部分组成。 业务层:业务层处理所有业务逻辑 >。它由服务类组成,并使用数据访问层提供的服务。它还执行授权和验证。 持久层:持久层包含所有存储逻辑,并将业务对象与数据库行进行相互转换。 数据库层:在数据库层中, CRUD (创建,检索,更新等)。
SpringBoot基础目录结构
ProjectName
+- src
+- main
+- java
+- resources
| +- static
| +- templates
| application.properties
+- test
+- java
| pom.xml
Spring Boot的基础结构共三个文件(具体路径根据用户生成项目时填写的Group所有差异):
src/main/java下的程序入口ProjectApplication; src/main/resources下的配置文件application.properties; src/test/下的测试入口ProjectApplicationTests; Pom.xml 是Maven的基本工程文件,包含了项目的基本信息,以及声明项目依赖;
生成的ProjectApplication和ProjectApplicationTests类都可以直接运行来启动当前创建的项目,如果项目未创建任何数据访问或Web模块,程序会在加载完Spring之后结束运行。
创建springboot应用程序
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_963b7162-7834-11ed-b9a2-38f9d3cd240d.png)
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_9658609c-7834-11ed-b9a2-38f9d3cd240d.png)
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_967411fc-7834-11ed-b9a2-38f9d3cd240d.png)
Springboot配置
5.1 默认配置文件
# web服务访问端口
server.port=8090
# 数据库连接
spring.datasource.url=jdbc:mysql://192.168.XX.2:3306/xxx
# 应用名称
Spring.application.name=hello
server:
port: 8090
spring:
datasource:
url: jdbc:mysql://192.168.XX.2:3306/xxx
application:
name: hello
5.2 外部配置
# java -jar xx.jar --server.port=8090
5.3 配置优先级
application.properties和application.yml文件可以放在四个位置,按照优先级排序如下所示:
外置,在相对于应用程序运行目录的/congfig子目录里。 外置,在应用程序运行的目录里。 内置,在config包内。 内置,在Classpath根目录。
springboot/
├── application.properties
├── config
│ └── application.properties
└── HelloWorld-0.0.1-SNAPSHOT.jar
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_969eb9e8-7834-11ed-b9a2-38f9d3cd240d.png)
此外,如果在相同优先级位置同时有application.properties和application.yml,那么application.properties里的属性里面的属性就会覆盖application.yml。
多环境配置
6.1 配置命名
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
application-dev.properties:开发环境 application-test.properties:测试环境 application-prod.properties:生产环境
6.2 配置加载
执行java -jar xxx.jar,也就是默认的开发环境(dev) 执行java -jar xxx.jar --spring.profiles.active=test,也就是测试环境的配置(test) 执行java -jar xxx.jar --spring.profiles.active=prod,也就是生产环境的配置(prod)
项目打包运行
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_96b87efa-7834-11ed-b9a2-38f9d3cd240d.png)
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_96ca3ca8-7834-11ed-b9a2-38f9d3cd240d.png)
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_96d9e586-7834-11ed-b9a2-38f9d3cd240d.png)
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_970f4e6a-7834-11ed-b9a2-38f9d3cd240d.png)
本文作者:黎 俊(上海新炬中北团队)
本文来源:“IT那活儿”公众号
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20221210_971f04f4-7834-11ed-b9a2-38f9d3cd240d.png)