0%

SpringBoot 开发实践(1):三分钟入门搭建你的第一个 SpringBoot 工程

前言

从大四实习第一次接触 SpringBoot 到现在,已经有 4 四年了。这期间,我也摸过一些其他的后端框架例如 JFinal 等,但回顾接触过的项目,还是用 Spring 体系开发居多。

我上大四那会儿是 2016 年,那时候的 SpringBoot 刚刚在国内开始流行。网上大部分的资料还都是基于 SpringMVC 的,看得我是一头雾水,搞不清楚他俩是什么关系,也没有几篇博客能解释清楚。

记得当时,我还曾纠结于 SpringBoot 和 SpringMVC 之间,到底该从哪个入手。后来我的第一个师傅告诉我说“直接上手 SpringBoot 吧 ,这玩意未来是趋势!”现在回想起来,很是感激他对我的教导。果然,SpringBoot 已经成为当今 Java 开发人员必备的技能之一,也几乎替代了 SpringMVC 成为 Java 项目首选的开发框架。

虽然现在,有关 SpringBoot 的资料已经非常丰富了,但我还是想通过博客的方式,总结一下这么多年使用 SpringBoot 的开发经验。一是能帮助小白快速掌握 SpringBoot 技术,少踩坑,二来也是对自己使用了这么久 SpringBoot 的一个交代,总要输出点什么。

所以,我准备以系列的方式,整理有关 SpringBoot 的用法及开发经验,帮助广大新人尽快上手 SpringBoot。注意,本系列并不会设计太多的原理及源码方面的知识,主要偏重于实践应用。如果想要了解有关 Spring 底层原理的内容,可自行参阅其它资料。

另外,我们拥抱 SpringBoot,不代表说完全放弃 SpringMVC。毕竟 SpringBoot 的本质还是 Spring、SpringMVC,这其中的核心知识才是学习 SpringBoot 的关键。

创建 SpringBoot 工程

使用官方提供的 Spring Initializr 生成 SpringBoot 工程文件

登录 https://start.spring.io 会看到如下界面:

  • Project: 工程的构建方式。可以选择用 Maven 或者 Gradle 构建。这里我们选择 Maven Project。
  • Language:编程语言的选择。这里我们选择 Java。
  • Spring Boot: 版本选择。这里我们选择 2.1.X 的最新稳定版本。(编写这篇博客时,最新版本为2.1.14)
  • Project Metadata: 工程部分参数配置,包括项目名、包名等。其中,Packaging 方式选择 Jar,Java 版本选择 8。
  • Dependencies: 项目依赖。不作选择的话,创建的项目就是一个纯净的 SpringBoot 项目。为了方便一会儿的 Web 接口演示,我们将 Spring Web 添加到依赖中(搜索“Web”,选择“Spring Web”)。

点击下方绿色的“Generate”,项目便创建好了。系统会生成一个 zip 包,下载到本地合适的目录中并解压。

打开工程

点击 IntelliJ IDEA 上方菜单栏中的 File -> Open,打开刚才解压后的目录。

IntelliJ IDEA 中内建了对 Maven 的支持,如果不想使用 IDEA 自带的 Maven 环境,可以自行下载 Maven 进行安装。

一般来说,打开工程后,IEDA 会自动识别这是一个 Maven 工程。如果 IDEA 没有识别为一个 Maven 工程,可以右键点击项目根目录下的 pom.xml 文件,选择“Add as Maven Project”将该工程添加为 Maven 工程。

工程目录简介

这里介绍几个主要的目录及文件

  • src/main/java: 用于存放工程的主要代码文件和工程入口文件。
  • src/main/resources: 用于存放工程的静态资源,如配置文件、网页资源等。
  • src/main/resources/application.properties: SpringBoot 工程主配置文件。
  • src/main/test: 用于存放测试代码。
  • pom.xml: Maven 配置文件。

Hello World

右键 myfirstspringboot 包,在 src/main/java/cn/interhorse/springboot/myfirstspringboot 下创建一个 package,命名为 controller。并在 controller 包下创建一个 Java Class 文件,命名为 MyControllerMyController 中代码如下:

1
2
3
4
5
6
7
8
@Controller
public class MyController {
@ResponseBody
@RequestMapping(value = "/test", method = RequestMethod.GET)
private String test() {
return "Hello World!";
}
}

之后,点击 IDEA 右上角的运行按钮,程序便默认在 8080 端口上启动了。

打开浏览器,输入 http://127.0.0.1:8080/test,如果页面返回“Hello World!”,那么恭喜你,程序运行无误,我们的第一个 SpringBoot 项目已经成功跑起来了!

为何 SpringBoot 搭建如此简便?

过去,在使用 SpringMVC 开发时,要先经过大量的 XML 配置,项目才能开始进行功能开发,之后还要部署 Tomcat 项目才能启动。每一次引入新的组件,也都要经过一番繁琐的配置才得以使用。这些步骤使得 SpringMVC 的开发显得十分臃肿,大量的时间用于各种重复的配置动作。

而 SpringBoot 采用“约定优于配置”的设计理念,将很多配置变成了一种公认的约定,如果不主动去配置它,就采取默认值。比如默认启动端口是 8080,默认配置文件为 application.properties,默认帮我们配置了 Servlet,默认内嵌了 Tomcat 作为 Web 容器等等。也就是说,SpringBoot 按照主流约定,自动配置了很多过去需要我们手动配置的配置项。而如果需要自定义配置的话,也可以单独对其进行配置。这种自动 / 手动相结合的配置方式,使得开发者可以从过去繁琐的配置过程中脱身出来,将更多精力专注于业务本身。

除此之外,SpringBoot 借助于 Java 强大的注解功能,也在开发过程中给予开发者许多便利。过去,需要手动配置的地方,现在可能只需要几个注解就能完成。总之,SpringBoot 从各个方面,都在极力帮助开发者减压。所以,这就是使用 SpringBoot 开发简便的原因。

本章代码地址:GitHub


我是因特马,一个爱分享的斜杠程序员~

欢迎关注我的公众号:一只因特马

  • 本文作者: 因特马
  • 本文链接: https://www.interhorse.cn/a/2301020784/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!