三,Spring Boot CLI如何使用 生成项目必须需要它吗

要使用 Spring Boot CLI,首先需要安装它,然后你可以通过命令行创建、运行和管理 Spring Boot 项目。以下是详细的使用步骤:

1. 安装 Spring Boot CLI

你可以通过多种方式安装 Spring Boot CLI,最常见的方式是通过包管理器:

Mac 或 Linux 使用 SDKMAN 安装

  1. 安装 SDKMAN(如果未安装):
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
  1. 使用 SDKMAN 安装 Spring Boot CLI:
sdk install springboot

Mac 使用 Homebrew 安装

如果你使用 Homebrew,可以通过以下命令安装:

brew tap spring-io/tap
brew install spring-boot

Windows 安装

  1. 你可以通过官方的 Spring Boot CLI 下载页面下载 ZIP 文件:
    Spring Boot CLI 下载页面
  2. 下载并解压文件,然后将 bin 目录添加到系统的 PATH 环境变量中。

2. 验证安装是否成功

安装完成后,打开终端或命令提示符,运行以下命令来验证 Spring Boot CLI 是否正确安装:

spring --version

如果安装成功,你会看到类似以下输出:

Spring Boot v3.x.x

3. 使用 Spring Boot CLI 创建和运行应用程序

Spring Boot CLI 支持使用 Groovy 编写简单的 Spring Boot 应用程序。以下是使用 CLI 创建和运行一个简单 Web 应用程序的步骤:

创建简单的 Web 应用

你可以通过 Groovy 代码快速创建一个 RESTful 服务。创建一个新的文件 app.groovy,内容如下:

@RestController
class HelloController {
@RequestMapping("/")
String home() {
return "Hello, Spring Boot CLI!"
}
}

运行 Groovy 应用程序

在终端中,导航到 app.groovy 文件所在的目录,使用以下命令运行应用程序:

spring run app.groovy

CLI 会自动运行嵌入式的 Web 服务器(默认是 Tomcat),并启动应用程序。打开浏览器访问 http://localhost:8080/,你会看到页面输出:

Hello, Spring Boot CLI!

4. 构建和打包 Spring Boot 应用

虽然 CLI 主要用于快速开发和测试,但你也可以将应用程序打包为 JAR 文件,以便部署。

打包 Groovy 应用为 JAR

如果你想将 Groovy 应用打包成可执行的 JAR 文件,可以运行以下命令:

spring jar app.jar app.groovy

生成的 app.jar 包含了所有依赖和嵌入式服务器,你可以通过以下命令运行这个 JAR 文件:

java -jar app.jar

5. 使用 Maven 或 Gradle 创建 Spring Boot 项目

如果你想使用 Maven 或 Gradle 创建更复杂的 Spring Boot 项目,可以通过 CLI 的初始化命令快速生成一个项目骨架。

使用 Maven 创建项目

spring init --build=maven --dependencies=web myapp

这条命令会创建一个名为 myapp 的 Spring Boot 项目,并带有 Web 依赖。创建好项目后,你可以进入 myapp 目录,使用 Maven 构建和运行项目:

cd myapp
./mvnw spring-boot:run

使用 Gradle 创建项目

spring init --build=gradle --dependencies=web myapp

生成 Gradle 项目后,同样可以进入项目目录并运行:

cd myapp
./gradlew bootRun

6. 更多 Spring Boot CLI 命令

Spring Boot CLI 提供了一些有用的命令,可以帮助你快速开发和管理 Spring Boot 应用:

  • 启动 Groovy 文件
spring run app.groovy
  • 测试 Groovy 文件
spring test app.groovy
  • 创建项目骨架
spring init --dependencies=web,data-jpa myapp
  • 生成 JAR 文件
spring jar myapp.jar app.groovy
  • 查看帮助
spring help

7. Spring Boot CLI 的适用场景

Spring Boot CLI 非常适合以下场景:

  • 快速原型开发:你可以使用 Groovy 快速构建小型原型,进行概念验证。
  • 微服务开发:CLI 简化了小型微服务的创建和管理。
  • 学习和测试:CLI 是学习 Spring Boot 框架以及测试简单功能的好工具。

总结

通过 Spring Boot CLI,你可以快速创建、运行和打包 Spring Boot 应用程序。它简化了开发流程,尤其适合原型开发和测试。安装并使用 Spring Boot CLI 后,你能够更快地进入 Spring Boot 应用开发。

实际生产中生成一个Spring项目,很少用Spring Boot CLI,我上面都是在说废话,就是想让你了解一下,原生态生成是怎么样的。


color1
很多人觉得IDEA跟Spring boot密不可分,这个想法非常的错误,这两个压根没有依赖和并生关系,Spring boot就是一个非常好用的框架,而IDEA就是一款非常好用的编译器,两两搭配非常的完美,仅此而已。


你可能会说IDEA内部新建一个项目的时候,有Spring Initializr的选项,可以选包管理器(Maven),加入依赖

可我要告诉你的是,Spring的官网就有这个,我这里提供网址和截图

Spring Initializr

在 IntelliJ IDEA 中,

你可以通过 Spring Initializr(在IDEA 2024中是Spring boot) 来快速新建一个 Spring Boot 项目。Spring Initializr 是一个用于生成 Spring Boot 项目骨架的工具,它可以让你选择项目依赖和配置,自动生成项目结构。以下是使用 Spring Initializr 创建一个 Spring Boot 项目的步骤:

使用 IntelliJ IDEA 创建 Spring Boot 项目

  1. 打开 IntelliJ IDEA
    启动 IntelliJ IDEA,点击欢迎页面的 “New Project” 按钮。
  2. 选择 Spring Initializr
    在项目创建窗口,选择 Spring Initializr,然后点击 **”Next”**。
  3. 配置项目元数据

配置好这些参数后,点击 **”Next”**。

- **Group**:输入项目的组织名称(例如 `com.example`)。
- **Artifact**:输入项目名称(例如 `myapp`)。
- **Name**:项目的名称,通常与 Artifact 名称相同。
- **Type**:选择项目的打包方式,通常选择 **Maven Project** 或 **Gradle Project**。


tips
- (无脑选Maven)


- **Language**:选择 Java(或 Kotlin、Groovy,取决于你要使用的语言)。
- **Spring Boot Version**:选择要使用的 Spring Boot 版本,建议选择最新稳定版本。
  1. 选择依赖
    在依赖选择页面,你可以选择项目所需的依赖。常用的依赖有:

选好依赖后,点击 **”Next”**。

- **Spring Web**:用于构建 Web 应用,包括 RESTful 服务。
- **Spring Data JPA**:用于数据库访问。
- **Spring Security**:用于添加安全认证和授权。
- **MySQL Driver**:如果你要使用 MySQL 作为数据库。
  1. 配置项目路径
    设置项目的保存路径,并点击 **”Finish”**,IDEA 会根据你的配置自动生成项目结构。
  2. 运行 Spring Boot 项目
    项目生成后,IDEA 会自动加载项目依赖并进行构建。你可以通过以下步骤来运行项目:
    • 打开 src/main/java 下的主类(通常名为 Application.java)。
    • 点击该文件中的 绿色箭头,选择 **Run ‘Application’**,Spring Boot 应用程序将启动。
    • 或者你可以直接使用右上角的 Run 按钮运行项目。

项目成功运行后

默认情况下,Spring Boot 会启动一个嵌入式的 Web 服务器(如 Tomcat),你可以在浏览器中访问 http://localhost:8080,来查看项目是否运行正常。

小提解惑,完成上述的项目为什么是在8080端口?

Spring Boot 项目默认使用端口 8080,是因为内置的 Tomcat 服务器的配置。Spring Boot 内置了 Tomcat 作为默认的 web 服务器,而 Tomcat 的默认端口是 8080,所以如果不做任何修改,Spring Boot 项目启动时会监听这个端口。

如果需要更改端口号,可以通过修改 application.propertiesapplication.yml 文件中的配置来实现。例如:

application.properties 中:

server.port=8081

application.yml 中:

server:
port: 8081

通过这种方式,你可以将默认的 8080 端口更改为其他端口。

再解,application.propertiesapplication.yml有什么区别?

application.propertiesapplication.yml 都是 Spring Boot 项目中的配置文件,主要区别在于它们的格式和表示结构的方式,但功能上是等价的。以下是它们的主要区别:

1. 格式

  • application.properties 是基于键值对的简单配置格式,每一行是一个配置项,形式为 key=value
server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/dbname
  • application.yml 使用的是 YAML (YAML Ain’t Markup Language) 格式,层级结构更加清晰。YAML 支持缩进表示配置项的层级关系。
server:
port: 8081
spring:
datasource:
url: jdbc:mysql://localhost:3306/dbname

2. 层次结构

  • application.properties 的配置通常是通过点 (.) 来表示层次关系,每一行表示一个独立的配置项。
spring.datasource.url=jdbc:mysql://localhost:3306/dbname
spring.datasource.username=root
spring.datasource.password=12345
  • application.yml 更适合处理层次结构的数据,因为它使用缩进表示嵌套关系,结构更加清晰:
spring:
datasource:
url: jdbc:mysql://localhost:3306/dbname
username: root
password: 12345

3. 可读性

  • application.properties 简单直观,适合处理少量配置。
  • application.yml 更具可读性,尤其是在处理复杂的、多层嵌套的配置时,结构更加简洁明了。

4. 文件解析

  • Spring Boot 在启动时会自动解析这两种文件,无论是 application.properties 还是 application.yml,都可以用来配置应用程序。实际上,它们可以同时存在,但建议使用一种格式来保持一致性。

选择使用哪种格式主要取决于个人喜好和项目需求:

  • 如果你的配置比较简单,或者团队习惯使用键值对配置,可以选择 application.properties
  • 如果你喜欢层次化结构、配置较为复杂,或者需要更好的可读性,可以选择 application.yml

总之,二者在功能上没有本质区别,主要是语法格式的不同。