一 什么是 Spring Boot
Spring Boot 并不是一个框架,从根本上将,它是一些库的集合,只需要用 maven 或 gradle 将相应的依赖导入即可使用 Spring Boot,而且无需手动管理这些库,且不需要或很少的 Spring 配置即可快速创建一个 Spring 应用。Spring Boot的诞生不是为了已解决的问题域提供新的解决方案,而是为平台带来另一种开发体验,通过一种特定的方式(约定优于配置)来进行配置,从而避免开发人员每次都去编写模板化的配置,以此达到简化对这些已有技术的使用。
二 为什么使用 Spring Boot
随着动态语言的流行(Node.js、Ruby...),Java 的开发就面临着很大的压力,使用 Java 开发一个 web 应用需要很多繁琐的配置、复杂的部署流程以及各种各种框架的集成,从而导致了低下的效率。而使用 Spring Boot 可以快速的搭建一个独立的(运行 jar,内嵌 servlet 容器)、准生产级的基于 Spring 的项目,其中大量的配置都遵循“约定优于配置”的理念来进行模板话的默认配置,不需要开发人员每次的都去编写繁琐的配置,一个简单的 Spring web 应用只需要 20 行代码即可运行。
目标
- 为所有 Spring 开发提供一个更快更广泛的入门体验;
- 开箱即用,不合适时也可以快速抛弃;
- 提供一系列大型项目常用的非功能性特征,比如:嵌入式服务器、安全性、度量、运行状况检查、外部化配置等;
- 零配置(无冗余代码生成和 xml 强制配置 ,遵循“约定大于配置”);
三 Spring Boot 核心功能
1、独立运行的 Spring 项目
Spring Boot 项目支持以 jar 包的形式独立运行,只需要执行 java -jar ××.jar
来运行即可。
2、内嵌 servlet 容器
Spring Boot 可以内嵌 Tomcat、Jetty 或者 Undertow,这样我们不需要打 war 包即可部署项目。
3、提供 starter 简化 Maven 配置
使用 Spring Boot 只需要导入一个 spring-boot-starter-parent
和一个 spring-boot-starter-web
即可,避免了 dependency 之间引发的冲突。
4、自动配置 Spring
Spring Boot 会根据类路径中的 jar 包、类自动配置 bean,不需要我们去手动配置,当然这是在“约定”的前提下。
5、无代码生成和 xml 配置
Sprin 4.× 提倡使用 java 注解和配置组合,而 Spring Boot 可以做到不需要任何 xml 配置即可完成所有的 Spring 配置。
四 快速搭建一个应用
1、创建一个 maven 项目
注:也可以使用 idea 直接创建一个 Sping Boot 项目(可以直接跳过第二步)
2、导入相应的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3、编写一个 HelloWorld
@Controller
@SpringBootApplication
@Configuration
public class HelloWorldApplication {
@RequestMapping("hello")
@ResponseBody
public String hello() {
return "hello world";
}
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
}
注:HelloWorldApplication 不可以放在缺省包下。
4、运行
5、浏览器访问
持续更新中......