springboot简介
由于spring和springmvc中存在很多繁琐的配置,springboot应运而生,简化spring的开发,基于spring和springmvc进行了封装,约定大于配置,可以很快的开发出一个可运行的产品
spring面临的问题
在之前使用spring项目需要很多繁琐的步骤和配置
首先先创建一个maven项目,包含有springmvc和servlet的依赖
还需要一个web环境web.xml,其内至少配置DispatchServlet
一个启用了springmvc的spring配置
一个控制器类
一个用于部署应用程序的web应用服务器,如tomcat
spring不仅搭建项目的步骤繁琐,而且还存在了一些其他的问题,这都是spring多年发展技术更迭带来的问题
- 入门spring需要很长的时间
- 对过时的技术进行兼容,导致代码的复杂度变高
- XML配置已经不是流行的系统配置方式
- 集成第三方工具时,需要考虑工具之间的兼容性
springboot
而springboot就是为了简化spring应用开发,其管理spring容器、第三方插件,并提供很多默认系统级的服务
常用配置参照官方文档 附录A
优点
快速创建独立运行的Spring项目并与主流框架集成
以jar包的形式进行独立运行
使用嵌入式servlet容器,无需打成war包,无需外置的servlet容器
starters自动依赖与版本控制
可以使用parent父项目来进行版本控制
1
2
3
4
5
6<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/>
</parent>也可以使用dependencyManagement来引入pom进行版本控制,scope为import,type为pom
1
2
3
4
5
6
7
8
9
10
11<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>大量的默认配置,简化开发,默认配置可修改
无需配置xml
基于不同的环境进行配置,启动程序时传入环境参数-Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring将在(application{environment} .properties)中加载后续的应用程序属性文件
应用监控Actuator
与云计算天然集成
缺点
- 依赖太多,导致springboot应用过大