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 中代码如下:

@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.matalking.com/a/2301020784/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章