文章大纲
一、Spring Boot 概述
二、Spring Boot 入门案例
三、Spring Boot核心功能代码实战
四、项目源码与资料下载
五、参考文章
一、Spring Boot 概述
1. 什么是 Spring Boot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单的来说 Spring Boot 这个项目整合目前很多的流行的第三方框架,并且做了一系列的默认配置,我们无需在进行手动配置,直接拿过来直接使用! 接下来我们比较一下Spring mvc和 Spring Boot的开发过程
Spring mvc
(1)导入 spring mvc 的相关依赖包
(2)在 web.xml 文件中配置 Spring mvc 的前端控制器
(3)创建一个 spring mvc 的配置文件
(4)在 spring mvc 的配置文件中进行相关配置
1) 配置注解扫描路径
2)配置处理器映射器
3)配置处理器适配器
4)配置视图解析器
(5)开发 Controller
Spring Boot
(1)导入相关的依赖包
(2)开发 Controller
单单从开发步骤上讲都比我们的原始开发少了很多,其中的配置部分 Spring Boot 帮我们完成了,不需要我们在进行配置,当然如果我们想
更改 Spring Boot 的默认配置也是可以的.极大的简化了我们的开发.
2. Spring Boot 的核心功能
(1)独立运行的 spring 项目: Spring Boot 可以以 jar 包形式直接运行,如 java -jar xxx.jar 优点是:节省服务器资源
(2)内嵌 servlet 容器: Spring Boot 可以选择内嵌 Tomcat,Jetty,这样我们无须以 war 包形式部署项目。
(3)提供 starter 简化 Maven 配置: 在 Spring Boot 项目中为我们提供了很多的 spring-boot-starter-xxx 的项目(我们把这个依赖可以称之为起步依赖,我们导入指定的这些项目的坐标,就会自动导入和该模块相关的依赖包:例如我们后期再使用 Spring Boot 进行 web 开发我们就需要导入 spring-boot-starter-web 这个项目的依赖,导入这个依赖以后!那么Spring Boot 就会自动导入 web 开发所需要的其他的依赖包,如下图所示:
(4)自动配置 spring: Spring Boot 会根据在类路径中的 jar 包,类,为 jar 包里的类自动配置 Bean,这样会极大减少我们要使用的配置。当然 Spring Boot 只考虑了大部分开发场景,并不是所有的场景,如果在实际的开发中我们需要自动配置 Bean,而 Spring Boot 不能满足,则可以自定义自动配置。
(5)准生产的应用监控: Spring Boot 提供基于 http,ssh,telnet 对运行时的项目进行监控
(6)无代码生成和 xml 配置: Spring Boot 大量使用 spring4.x 提供的注解新特性来实现无代码生成和 xml 配置。spring4.x 提倡使用 Java配置和注解配置组合,而 Spring Boot 不需要任何 xml 配置即可实现 spring 的所有配置。
3. Spring Boot 的优点和缺点
3.1 优点
(1)快速构建项目
(2)对主流框架无缝集成
(3)项目可以独立运行,无需依赖外部 servlet 容器
(4)提供运行时的应用监控
(5)极大提高了开发,部署效率
3.2 缺点
(1)资料相对比较少
(2)版本迭代较快
二、Spring Boot 入门案例
1. 新建maven项目
创建后项目结构如下:
2. 新建相关文件夹与包
main/java下新建包cn.itcast.start
resources文件夹下新建相关内容
3. pom.xml文件添加maven依赖
<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>cn.itcast</groupId>
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!--Spring Boot 项目默认的编译版本是 1.6,如果我们想使用其他的编译版本我们就需要在 pom.xml 文件中定义一个变量-->
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 加入web开发的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- maven的编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8<