Java教程

创建 SpringBoot 应用程序的三种方式,你都知道了?

本文主要是介绍创建 SpringBoot 应用程序的三种方式,你都知道了?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本篇是《Spring江湖路》系列文章的第2回,持续更新中…

获取精选计算机电子书资源!

文章目录

      • 本文内容
      • 使用 Spring Initilalizr 创建项目的几种方式
        • 1. 使用 Spring InitialIzr 的 Web 界面
        • 2. 通过 IntelliJ IDEA 使用
        • 3. 通过 Spring Boot CLI 使用
          • 安装 Spring Boot CLI
          • Spring Boot CLI 使用 Initializr
      • 总结

大家好呀,我是七哥。

在上一篇文章,我们花了10分钟了解了 Spring Boot 能做什么,算是对它功能的一个概览,不了解的同学可以点击查阅:

Spring Boot 永远滴神,10分钟带你入门,Java程序员必看 。

想必认真看的小伙伴都已经跃跃欲试的想对其做更加深入的学习和掌握了吧。 别着急,我们今天继续闯关。

本文内容

今天的内容选题确定来自于B站一位叫学狂小伙伴的留言。

因为我在视频中使用 Spring Initializr 的在线地址: https://start.spring.io/ 来创建 Spring Boot 项目,可能是比起 IDEA 直接创建有点麻烦了。

不过各大工具集成的创建方式本质还是联网访问的这个 Spring Initializr, 因此我觉得有必要对 Spring Boot 项目的创建方式做一个汇总。

今天的内容就讲一件事:如何创建 Spring Boot 应用程序? 可能你已经掌握了其中常用的一两种,但是并不全面,那通过今天的学习,你就可以彻底掌握创建 Spring Boot 应用程序的几种方法,在合适的场景使用合适的方式。

这里在强调一下,很多小伙伴可能以为 Spring Boot 是一种新的框架技术,其实不然,本质上 Spring Boot 项目还是普通的 Spring 项目,只是它用到了:自动配置、起步依赖 这些特性而已。不用 Spring Boot 我们照样可以通过 Spring 手动配置对应的 Bean 实现这些功能,这一点需要大家搞明白。

那不废话了,我们接下来就步入正题!

使用 Spring Initilalizr 创建项目的几种方式

上面我们也说了,创建 Spring Boot 项目的各种方式,其实都是使用的 Spring Initializr。

Spring Initializr 本质上来说其实就是一个 Spring 官方提供的应用程序,功能就是为我们生成 Spring Boot 项目结构,以及一个用于项目构建的 MavenGradle 构建说明文件,让我们只需要写应用代码就好了。

Spring Initializr 有下面几种用法。

  • 通过 Web 界面使用;
  • 通过 IntelliJ IDEA 使用;
  • 通过 Spring Boot CLI 使用;

1. 使用 Spring InitialIzr 的 Web 界面

这是最直接的方法,直接打开 https://start.spring.io , 我们就会得到下图的表单,我直接将说明标注在图中了,简单来说就是选择使用 Maven 或者 Gradle,以及选择 Spring Boot 的哪个版本,然后就是提供项目的 Group 和 Artifact。

右侧可以选定我们要指定的依赖,这里的依赖是和 Spring Boot 的起步依赖对应的,也就是按照功能选择依赖。

填完之后可以在线预览,然后点击 GENERATE 下载使用。

解压下载的压缩包,进入到项目根目录,然后使用 IDEA 打开 pom.xml ;

选择 File --> New --> Project from Existing Sources... 然后选择 pom.xml ,如下图所示。

打开后,刷新 Maven 依赖(第一次会有点慢,耐心等待),我们就可以得到下图项目结构了;

2. 通过 IntelliJ IDEA 使用

宇宙无敌第一 Java IDE 非 IntelliJ IDEA 莫属了,它当然也是支持 Spring Boot 的!

打开 IDEA 在 File 菜单 选择 New > Project。

其实这里需要填写的内容和 Spring Initializr Web 界面是一样的,这里填写的数据也会被发送到 https://start.spring.io 上的 Spring Initializr 来创建项目,就相当于发送了一个 REST API 来调用 Initializr。因此需要注意,如果离线没网,或者有防火墙,这种方式创建就无法使用了。

点击 Next 来到下一屏信息。

选择需要添加的依赖,就一切就绪了,点击 FInish 就可以创建好一个空的 Spring Boot 项目了。

3. 通过 Spring Boot CLI 使用

Spring Boot CLI 是 Spring Boot 的四大核心特性之一,是一个命令行工具,如果你想快速开发 Spring 应用程序,可以使用它。它允许我们运行 Groovy 脚本,它的语法类似 Java,但是却非常简洁。

不过这种方式 和我们常规的开发模型相差较大,所以我个人觉得工作中使用不太成熟,作为个人练习倒是可以玩玩。

今天我们仅仅是使用 Spring Boot CLI 来创建 Spring Boot 项目,它提供了一些命令可以帮助我们在命令行中使用 Spring Initializr。不涉及具体的开发、运行、测试,如果对这种不同于我们传统 Java 项目构建开发的方式(可以直接写代码,非常快捷方便)感兴趣,可以留言区告诉我,后面给大家安排。

使用之前呢,我们需要先安装 Spring Boot CLI。

安装 Spring Boot CLI

安装方式其实有很多种,比如 直接下载解压安装、SDKMAN、MacPorts、Homebrew、Windows Scoop 安装等。不过为了照顾到 Windows 用户(手动下载是最快、最简洁的方式),我们采用手动下载解压的方式,放心,这种方式也很简单,总体来说,就是 下载、解压、配置系统路径

安装前的要求: 本地系统路径要安装了 JDK1.8 或者更高的版本,可以打开命令行执行检查下 :
java -version

  1. 下载安装包

https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.5.2/spring-boot-cli-2.5.2-bin.zip

  1. 解压,查看 INSTALL.txt 文件,按照说明操作

这里我就不打开 INSTALL.txt 文件了,里面内容很简单,就是配置环境变量和配置 shell 脚本自动补全,我们直接操作。

  1. 配置环境变量

因为安装了 Spring Boot CLI,所以需要配置系统环境变量,这样就可以在任何目录上都可以执行相应的指令了,不配置的话就需要进入到你解压目录的 bin 文件夹下面。

我是 Mac 电脑,使用的 zsh,所以添加下面的配置到用户目录下的 .zprofile 文件就可以了。比如我的配置文件路径为:/Users/sevenluo/.zprofile ,你替换为你的用户目录即可。

export SPRING_HOME=/Users/sevenluo/Applications/spring-2.5.2
export PATH=$PATH:$SPRING_HOME/bin

配置完成后,让配置生效,执行:

source .zprofile
  1. 验证

Spring Boot CLI 使用 Initializr

Spring Boot CLI 包含了一个 init 命令,可以用来创建 Spring Boot 项目。

spring init

这个命令会去和 Spring Initializr 的 Web 应用程序通信,然后下载一个 demo.zip 文件。 解压后就会看到一个空项目结构,包含 Maven 的 pom.xml 构建描述文件,其中只包含基本的基线和测试的起步依赖。

那假设我们想要构建一个 Web 应用程序,项目使用 JPA 实现数据持久化,使用 Spring Security 进行安全加固,那就可以使用 --dependencies 或者 -d 来指定需要哪些依赖:

spring init -dweb,jpa,security

这个命令下载的 demo.zip 文件和上面的区别只是 pom.xml 里增加了 Spring Boot 的 Web、jpa 和 security 起步依赖。

需要注意的是 -d 和依赖之前不能添加空格,否则就变成了下载一个名为 web,jpa,security 的 zip 文件。

那如果我们要使用 gradle 来构建项目呢?

很简单,用 --build 参数指定构建类型即可:

spring init -dweb,jpa,security --build gradle

无论是 Maven 还是 Gradle 构建都会产生一个可执行的 JAR 文件,那如果我们要打包成传统项目的 WAR 包然后放到 Tomcat 这类应用服务器中部署的话,可以通过 --packaging 或者 -p 参数进行说明:

spring init -dweb,jpa,security --build gradle -p war

那如果我们还想下载 ZIP 文件后,让 CLI 帮我们做解压操作,可以指定一个用于解压的目录:

spring init -dweb,jpa,security --build gradle -p war spring-road02

最后的 spring-road02 就是我指定的要解压的目标目录。

当然 init 命令还有不少其他参数,包括基于 Groovy 构建项目的参数、指定编译项目的 Java 版本,还有选择 Spring Boot 版本的参数,这些你都可以通过 help 命令了解所有参数的情况:

spring help init

不过 CLI 命令行工具有个缺点,就是 不能指定根包的名字,默认为 demo,需要我们初始化后,自己导入到 IDEA 里面后修改包名为我们需要的就可以了。

总结

Spring Boot 为 Spring 应用程序开发提供了一种高效、快捷令人激动的方式。 Spring Boot 项目的创建方式,不管是 Web 界面、IDEA集成还是 Spring Boot CLI ,本质都是通过 Spring Boot Initializr 创建。

这篇关于创建 SpringBoot 应用程序的三种方式,你都知道了?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!