为什么华为某大佬常提醒手下Java 程序员必须掌握 Spring Boot ?

这个问题放在五年以前,还可以存在,但放到 2021 年,这个问题已经没有存在的价值了,因为所有的 Java 程序员都必须得掌握 Spring Boot 已经变成了一条定律,就像勾股定律一样。

首先,我们要知道“什么是 Spring Boot”

Spring Boot 是由 Pivotal 团队提供的一个全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程

该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

说句人话就是,Spring Boot 不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

其次,我们要知道“使用 Spring Boot有什么好处”。

其实就是简单、快速、方便!在没有 Spring Boot 之前,我们要搭建一个 Web 项目,通常要这么做:

  • 配置 web.xml,加载 Spring 和 SpringMVC

  • 配置数据库链接、配置 Spring 事务

  • 配置日志文件

  • 部署 Tomcat 运行 Web 项目

有了 Spring Boot 之后呢,再也不用折腾这些了,仅仅只需要非常少的几个配置就可以快速地搭建一套 Web 项目!使用 Spring Boot 有多爽,用下面这幅图来表述下。

那接下来,我们就直接上手一个例子来体验一下。

01、使用 Spring Initlallzr 创建 Spring Boot 项目

创建一个 Spring Boot 项目非常简单,通过 Spring Initlallzr 就可以了。

  • 第一个选项一般选择 Maven(Java 后端项目首选),Gradle 在安卓项目中用的比较多。

  • 第二个选项一般选择 Java。

  • 第三个选项默认为 2.4.3,Spring Boot 目前最稳定的版本。

  • 第四个选项填上项目的路径和名称。

  • 第五个选项,我们选择 Spring Web 和 Spring Boot Actuator,表明该项目是一个 Web 项目;Actuator 是 Spring Boot 提供的对应用系统的自省和监控的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的 Spring beans 以及一些环境属性等。

选项选择完后,就可以点击【Generate】按钮生成一个初始化的 Spring Boot 项目了。生成的是一个压缩包,导入到 IDE 的时候需要先解压。

02、把 Spring Boot 项目导入 IDEA


PS:导入的过程就省略了,请选择 Maven 就对了。

等待 Maven 把所有的依赖包下载完。

项目的目录结构图如下所示。

  • HelloSpringBootApplication 为项目的入口,带有 main() 方法。我们知道,传统的 Web 项目通常需要放到 Tomcat 等容器下面启动运行,而 main() 方法则预示着该项目可以作为一个 jar 包直接运行——因为 Spring Boot 已经内置了 Tomcat。

  • 大家一定对 @SpringBootApplication 注解非常好奇,它的源码大致如下:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)

从这些注解中,我们大致可以窥探出,Spring Boot 项目使用了大量的注解取代了以往繁琐的 xml 配置。

03、编辑 Spring Boot 项目来看下面这段代码。

@SpringBootApplication
@RestController
public class HelloSpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloSpringBootApplication.class, args);
    }

    @RequestMapping("hello")
    public String hello() {
     return "Hello World";
 }
}
  • @RestController 注解相当于 @ResponseBody + @Controller,意味着请求返回的对象可以直接以 JSON 的格式回显。

  • hello() 方法非常简单,返回一个字符串“Hello World”。@RequestMapping 表明这个方法是一个请求映射。

#04、运行 Spring Boot 项目

接下来,我们直接运行 HelloSpringBootApplication 类,这样一个 Spring Boot 项目就启动成功了。


默认端口为 8080。

这时候,可以直接在 IDEA 的 Terminal 面板中测试该项目是否启动成功。

命令行为 curl http://localhost:8080/hello。
之所以不需要项目路径 helloSpringBoot,是因为默认启动的时候相当于是一个 ROOT 级别的,所以不需要根目录。

curl 是一个常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)和 URL 的合体。curl 的功能非常强大,命令行参数多达几十种。如果运用熟练的话,完全可以取代 Postman。

05、jar 形式运行 Spring Boot 项目

打开 pom.xml,我们可以看到如下内容:

<build>
 <plugins>
  <plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
 </plugins>
</build>

这意味着我们可以通过 maven 命令 mvn clean package 将 Spring Boot 项目打包成 jar 文件。

也可以加上参数用于跳过打包时候的测试:mvn clean package -Dmaven.test.skip

稍等片刻,就可以在 target 目录下看到对应的 jar 包。该 jar 包比起传统的 war 包更具有优势,因为不需要再单独开一个容器来跑项目了,Spring Boot 内置过了。原生的 jar 文件(.jar.original)只有不到 3 kb,非常小,因为没几行代码,但打包后 .jar 文件有 19 M,这说明 Spring Boot 帮我们做了很多肉眼看不到的工作。


直接使用 java -jar helloSpringBoot-0.0.1-SNAPSHOT.jar 命令运行该 jar 包,同样可以看到
启动信息。

这次,我们使用浏览器来访问一下。

也是 OK 的,这说明我们的第一个 Spring Boot 程序跑起来了。

怎么样?使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

如果你是一名 Java 程序员,还没有学习 Spring Boot,那赶紧点吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值