SpringBoot 入门案例

SpringBoot 优势

SpringBoot是 Spring 家族下的一个新框架,其秉承了约定大于配置的理念,避免了以往开发 Spring 应用中的各种复杂 xml 配置,其优势如下:

  • 简化了 Spring 应用的搭建和开发,提高了生产力,缩短了开发时间。
  • 嵌入式的 Tomcat、Jetty,不再需要使用 war 的方式去部署。
  • 使用约定好的 starter 来配置 pom.xml 文件,使 Maven 配置起来更加简单。
  • SpringBoot 会自动管理各个所需开源框架 jar 包的版本,不需要自己去调整配置。
  • 整合了大量流行的开源框架,方便使用,也为 SpringCloud 奠定了基础。

例如:没有 SpringBoot 以前,我们整合 SpringMVC 开发 Web 应用时,往往需要做如下步骤:

1
2
3
4
1. 配置 pom.xml 相关依赖
2. 在 web.xml 配置前段控制器 DispatcherServlet,配置字符编码过滤器,Spring 的contextConfigLocation配置。。。
3. 配置 springmvc.xml 文件。。。
4. 开始写 Controller 等代码逻辑

这还只是用到了 SpringMVC 这一个 MVC 框架,假如用到了 MyBatis 或者其他框架技术,又会多出许多纷繁复杂的配置文件,配置这些将是一件非常麻烦的事情,为了解决这些各种复杂配置问题 Spring 家族就推出了 SpringBoot 技术。

总而言之,SpringBoot 的关键点就是约定大于配置,配置、开发、部署都比以往更简单了,可以快速地开发出一个基于 Spring 的 Web 应用。

注意:SpringBoot 不是对 Spring 的增强,而是让我们能够进行快速的 Spring 应用开发。

学习 SpringBoot 前需要掌握的知识点

  1. 熟悉 Java 语言及 JavaEE 开发
  2. 熟悉 Spring 知识点
  3. 熟悉 SpringMVC 知识点
  4. 熟悉 Maven 构建工具

HelloWorld 案例

1. 配置Maven 依赖

创建 Maven 工程,在 pom.xml 添加配置(省略其他不相干信息)

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- SpringBoot 父依赖,使用 SpringBoot 必须得添加的父依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
</parent>
<dependencies>
<!-- SpringBoot的 MVC 启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

spring-boot-starter-parent 父依赖是必须添加的,通过 IDEA 点进去会发现,spring-boot-starter-parent 也有父依赖(spring-boot-dependencies),spring-boot-dependencies 统一管理了 SpringBoot 应用里的所有依赖版本号,所以在我们导入 spring-boot-starter-web 启动器时,是不需要写版本号的,SpringBoot 已经在 spring-boot-dependencies 已经做了统一管理。

2. 编写 Controller 类

1
2
3
4
5
6
7
8
9
10
@Controller
public class HelloWorld {
@RequestMapping("/hello")
@ResponseBody
public Map<String, Object> showHelloWorld(){
Map<String, Object> map = new HashMap<>();
map.put("HelloWorld", "你好,世界!");
return map;
}
}

3. 编写启动类

1
2
3
4
5
6
7
@SpringBootApplication
public class Application {
public static void main(String[] args) {
//启动 SpringBoot 应用
SpringApplication.run(SpringBootApption.class, args);
}
}

SpringBoot 启动类(Application)上必须添加 @SpringBootApplication 注解,说明这是一个 SpringBoot 应用,是 SpringBoot 的主配置类,运行这个类的 main 方法便可启动 SpringBoot 应用。

4. 测试结果

一个 Web 应用就这样 run 起来了,不需要 Tomcat,不需要 springmvc.xml 各种配置,使用SpringBoot 后,搭建 Spring 应用就是那么方便快捷!

浏览器访问 http://localhost:8080/hello 结果如下图:

测试结果

第一次接触到 SpringBoot 也是让自己眼前一亮,毕竟以前做开发的时候配置各种东西真的是太繁琐了,而 SpringBoot 约定大于配置的理念,真的是开发人员的福音,有了这些默认的配置,我们也就可以更专注于写代码了,而不至于花大量时间在繁琐的配置上,而且不想用默认配置的话,也可以通过 SpringBoot 的配置文件进行修改。