|
1 |
| -# 一 SpringBoot介绍 |
| 1 | +## 1.SpringBoot 介绍 |
2 | 2 |
|
3 |
| -## 1.1 先从Spring谈起 |
4 |
| -我们知道Spring是重量级企业开发框架 **Enterprise JavaBean(EJB)** 的替代品,Spring为企业级Java开发提供了一种相对简单的方法,通过 **依赖注入** 和 **面向切面编程** ,用简单的 **Java对象(Plain Old Java Object,POJO)** 实现了EJB的功能 |
| 3 | +### 1.1 先从 Spring 谈起 |
5 | 4 |
|
6 |
| -**虽然Spring的组件代码是轻量级的,但它的配置却是重量级的(需要大量XML配置)** 。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。 |
| 5 | +Spring 是重量级企业开发框架 **Enterprise JavaBean(EJB)** 的替代品,Spring 为企业级 Java 开发提供了一种相对简单的方法,通过 **依赖注入** 和 **面向切面编程** ,用简单的 **Java 对象(Plain Old Java Object,POJO)** 实现了 EJB 的功能 |
7 | 6 |
|
8 |
| -尽管如此,我们依旧没能逃脱配置的魔爪。开启某些Spring特性时,比如事务管理和Spring MVC,还是需要用XML或Java进行显式配置。启用第三方库时也需要显式配置,比如基于Thymeleaf的Web视图。配置Servlet和过滤器(比如Spring的DispatcherServlet)同样需要在web.xml或Servlet初始化代码里进行显式配置。组件扫描减少了配置量,Java配置让它看上去简洁不少,但Spring还是需要不少配置。 |
| 7 | +**虽然 Spring 的组件代码是轻量级的,但它的配置却是重量级的(需要大量 XML 配置)** 。 |
9 | 8 |
|
10 |
| -光配置这些XML文件都够我们头疼的了,占用了我们大部分时间和精力。除此之外,相关库的依赖非常让人头疼,不同库之间的版本冲突也非常常见。 |
| 9 | +为此,Spring 2.5 引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式 XML 配置。Spring 3.0 引入了基于 Java 的配置,这是一种类型安全的可重构配置方式,可以代替 XML。 |
11 | 10 |
|
12 |
| -**不过,好消息是:Spring Boot让这一切成为了过去。** |
| 11 | +尽管如此,我们依旧没能逃脱配置的魔爪。开启某些 Spring 特性时,比如事务管理和 Spring MVC,还是需要用 XML 或 Java 进行显式配置。启用第三方库时也需要显式配置,比如基于 Thymeleaf 的 Web 视图。配置 Servlet 和过滤器(比如 Spring 的`DispatcherServlet`)同样需要在 web.xml 或 Servlet 初始化代码里进行显式配置。组件扫描减少了配置量,Java 配置让它看上去简洁不少,但 Spring 还是需要不少配置。 |
13 | 12 |
|
14 |
| -## 1.2 再来谈谈 Spring Boot |
| 13 | +光配置这些 XML 文件都够我们头疼的了,占用了我们大部分时间和精力。除此之外,相关库的依赖非常让人头疼,不同库之间的版本冲突也非常常见。 |
15 | 14 |
|
| 15 | +**不过,好消息是:Spring Boot 让这一切成为了过去。** |
| 16 | + |
| 17 | +### 1.2 再来谈谈 Spring Boot |
16 | 18 |
|
17 | 19 | **最好直白的介绍莫过于官方的介绍:**
|
18 | 20 |
|
19 |
| -> Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”...Most Spring Boot applications need very little Spring configuration.(Spring Boot可以轻松创建独立的生产级基于Spring的应用程序,只要通过 “just run”(可能是run ‘Application’或java -jar 或 tomcat 或 maven插件run 或 shell脚本)便可以运行项目。大部分Spring Boot项目只需要少量的配置即可) |
| 21 | +> Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”...Most Spring Boot applications need very little Spring configuration.(Spring Boot 可以轻松创建独立的生产级基于 Spring 的应用程序,只要通过 “just run”(可能是 run ‘Application’或 java -jar 或 tomcat 或 maven 插件 run 或 shell 脚本)便可以运行项目。大部分 Spring Boot 项目只需要少量的配置即可) |
20 | 22 |
|
21 |
| -**简而言之,从本质上来说,Spring Boot就是Spring,它做了那些没有它你自己也会去做的Spring Bean配置。** |
| 23 | +**简而言之,从本质上来说,Spring Boot 就是 Spring,它做了那些没有它你自己也会去做的 Spring Bean 配置。** |
22 | 24 |
|
23 |
| -### 1.2.1 为什么需要 Spring Boot? |
| 25 | +#### 1.2.1 为什么需要 Spring Boot? |
24 | 26 |
|
25 |
| -Spring Framework旨在简化J2EE企业应用程序开发。Spring Boot Framework旨在简化Spring开发。 |
| 27 | +Spring Framework 旨在简化 J2EE 企业应用程序开发。Spring Boot Framework 旨在简化 Spring 开发。 |
26 | 28 |
|
27 | 29 | 
|
28 | 30 |
|
29 |
| -### 1.2.2 Spring Boot的主要优点 |
| 31 | +#### 1.2.2 Spring Boot 的主要优点 |
30 | 32 |
|
31 | 33 | 1. 开发基于 Spring 的应用程序很容易。
|
32 | 34 | 2. Spring Boot 项目所需的开发或工程时间明显减少,通常会提高整体生产力。
|
33 |
| -3. Spring Boot不需要编写大量样板代码、XML配置和注释。 |
34 |
| -4. Spring引导应用程序可以很容易地与Spring生态系统集成,如Spring JDBC、Spring ORM、Spring Data、Spring Security等。 |
35 |
| -5. Spring Boot遵循“固执己见的默认配置”,以减少开发工作(默认配置可以修改)。 |
36 |
| -6. Spring Boot 应用程序提供嵌入式HTTP服务器,如Tomcat和Jetty,可以轻松地开发和测试web应用程序。(这点很赞!普通运行Java程序的方式就能运行基于Spring Boot web 项目,省事很多) |
37 |
| -7. Spring Boot提供命令行接口(CLI)工具,用于开发和测试Spring Boot应用程序,如Java或Groovy。 |
38 |
| -8. Spring Boot提供了多种插件,可以使用内置工具(如Maven和Gradle)开发和测试Spring Boot应用程序。 |
| 35 | +3. Spring Boot 不需要编写大量样板代码、XML 配置和注释。 |
| 36 | +4. Spring 引导应用程序可以很容易地与 Spring 生态系统集成,如 Spring JDBC、Spring ORM、Spring Data、Spring Security 等。 |
| 37 | +5. Spring Boot 遵循“固执己见的默认配置”,以减少开发工作(默认配置可以修改)。 |
| 38 | +6. Spring Boot 应用程序提供嵌入式 HTTP 服务器,如 Tomcat 和 Jetty,可以轻松地开发和测试 web 应用程序。(这点很赞!普通运行 Java 程序的方式就能运行基于 Spring Boot web 项目,省事很多) |
| 39 | +7. Spring Boot 提供命令行接口(CLI)工具,用于开发和测试 Spring Boot 应用程序,如 Java 或 Groovy。 |
| 40 | +8. Spring Boot 提供了多种插件,可以使用内置工具(如 Maven 和 Gradle)开发和测试 Spring Boot 应用程序。 |
| 41 | + |
| 42 | +## 2.SpringBoot 开发环境要求 |
| 43 | + |
| 44 | +### 2.1 构建工具 |
| 45 | + |
| 46 | +构建工具(本项目涉及的代码大部分会采用 Maven 作为包管理工具): |
| 47 | + |
| 48 | +| **Build Tool** | **Version** | |
| 49 | +| -------------- | ----------- | |
| 50 | +| Maven | 3.3+ | |
| 51 | +| Gradle | 4.4+ | |
| 52 | + |
| 53 | +### 2.2 开发工具推荐 |
| 54 | + |
| 55 | +推荐使用 IDEA 进行开发。最好的 Java 后台开发编辑器,没有之一! |
39 | 56 |
|
| 57 | +### 2.3 Web 服务器 |
40 | 58 |
|
| 59 | +Spring Boot 支持以下嵌入式 servlet 容器: |
41 | 60 |
|
| 61 | +| **Name** | **Servlet Version** | |
| 62 | +| ------------ | ------------------- | |
| 63 | +| Tomcat 9.0 | 4.0 | |
| 64 | +| Jetty 9.4 | 3.1 | |
| 65 | +| Undertow 2.0 | 4.0 | |
42 | 66 |
|
| 67 | +您还可以将 Spring 引导应用程序部署到任何 Servlet 3.1+兼容的 Web 容器中。 |
43 | 68 |
|
| 69 | +这就是你为什么可以通过直接像运行 普通 Java 项目一样运行 SpringBoot 项目。这样的确省事了很多,方便了我们进行开发,降低了学习难度。 |
0 commit comments