本文还在持续更新中……
> Spring Boot概述
1. 用途
- 简化J2EE开发,去繁从简,简单创建独立的、企业级别的应用
- Spring Boot用于一站式解决J2EE开发的方案
2. 优点
- 快速创建独立运行的Spring项目以及主流框架集成
- 使用嵌入式的Servlet容器,应用无需打包为WAR包
- 自动依赖、自动配置,用户无需配置
.xml
,无代码生成,开箱即用 - 与云计算进行天然集成
3. 微服务
微服务文档:https://martinfowler.com/articles/microservices.html
- 是一种架构方式,提倡应用应该是一组小型服务的整合
- 小型服务间通过HTTP等轻量方式进行通信
> QuickStart
1. 环境准备
2. Maven配置
在settings.xml
中的<profiles>
标签里添加如下代码:
1 | <profile> |
3. HelloWorld示例
(1) Maven配置以及依赖
创建Maven工程(jar),并且在pom.xml
中导入Spring Boot相关依赖:
1 | <dependencies> |
注意,由于未使用父项目,<version>
必须要加上,否则Sync时会报错
(2) Spring Boot Application
开始一个主程序的编写,用于启动Spring Boot应用
1 | import org.springframework.boot.SpringApplication; |
随后编写相关的业务逻辑(Controller
、Service
),Controller
的代码示例:
1 | import org.springframework.stereotype.Controller; |
(3) 启动程序
直接定位至main
方法,运行Application,得到如下输出:
1 | . ____ _ __ _ _ |
从输出可以看到,Tomcat服务启动于8080
端口,所以从浏览器访问localhost:8080
,此时浏览器页面是一个错误页面,这是由于没有收到反馈,所以在地址后加上/hello
表示传入“hello”,即访问:
1 | localhost:8080/hello |
可以看到浏览器页面上的内容变为了一行HelloWorld
(4) 部署你的应用
将以下代码导入到pom.xml
中:
1 | <build> |
这段代码将一个Maven插件导入项目中,让应用打包为一个可执行的jar包,存放在target
目录中
> 机制——以HelloWorld为例
1. Pom文件
(1) 父项目
1 | <parent> |
其中spring-boot-starter-parent
也有父项目,名为spring-boot-dependencies
。它用来管理所有Spring Boot的依赖的版本,使得我们在pom.xml
中不需要再对依赖注明版本,但也有部分包并没有列入其中的包,需要使用<version>
tag来注明其版本
(4) Starters
在HelloWorld示例项目中,有如下代码
1 | <dependency> |
其中,spring-boot-starter-web
依赖于spring-boot-starter
,后者是spring boot的场景启动器。它导入了使得web模块正常运行所依赖的组件
不仅如此,Spring Boot将所有的功能场景都抽取出来,比如用于数据处理的spring-boot-starter-redis
依赖,这些starters就是Spring Boot中各种场景的启动器,我们仅需要在pom.xml
中导入这些启动器,相关场景的所有依赖都会导入项目中