1.Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程
2.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置
3.Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度
4.简省了繁重的配置,提供了各种启动器,开发者能快速上手
5.Spring和SpringBoot比较
(1)什么是Spring
<1>Spring框架为开发Java应用程序提供了全面的基础架构支持
<2>包含一些很好的功能,如依赖注入和开箱即用的模块,如:
Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test
<3>这些模块缩短应用程序的开发时间,提高了应用开发的效率
<4>Spring使用web.xml 或SpringServletContainerInitializer作为其引导入口点
(2)什么是Spring Boot
<1> 是Spring框架的扩展,它消除了设置Spring应用程序所需的XML配置
<2>Spring Boot为不同的Spring模块提供了许多依赖项,常用的有:
spring-boot-starter-data-jpa
spring-boot-starter-test
spring-boot-starter-web
spring-boot-starter-thymeleaf
<3>Spring Boot应用程序的入口点是使用@SpringBootApplication注释的类
6.Spring和Spring Boot基于Maven的pox.xml配置区别
(1)Spring基于Maven创建Web应用程序所需的最小依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
(2)Spring Boot只需要一个依赖项来启动和运行Web应用程序:
<1>在进行构建期间,所有其他依赖项将自动添加到项目中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.6.RELEASE</version>
</dependency>
(3)一个很好的例子就是测试库
<1>通常使用Spring Test,JUnit,Hamcrest和Mockito库
<2>在Spring项目中,应该将所有这些库添加到pom.xml中作为依赖项
<3>如果不使用Maven,那么需要下载对应的jar包,加入项目lib中
<4>在Spring Boot中,只需要添加spring-boot-starter-test依赖项自动包含这些库
6.SpringBoot版本问题
(1)父级标签<parent>中可以指定SpringBoot版本:这里显示的版本为2.0.2
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath />
</parent>
(2)当升级SpringBoot版本时,pom.xml头部报错
<1>报错提示为:升级后导致已下载的jar包版本不兼容
<2>可以使用<maven-jar-plugin.version>标签解决
例如:<maven-jar-plugin.version>2.6</maven-jar-plugin.version>
7.简而言之,Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便