三,Spring Boot CLI如何使用 生成项目必须需要它吗
白鹤忘机要使用 Spring Boot CLI,首先需要安装它,然后你可以通过命令行创建、运行和管理 Spring Boot 项目。以下是详细的使用步骤:
1. 安装 Spring Boot CLI
你可以通过多种方式安装 Spring Boot CLI,最常见的方式是通过包管理器:
Mac 或 Linux 使用 SDKMAN 安装
- 安装 SDKMAN(如果未安装):
curl -s "https://get.sdkman.io" | bash |
- 使用 SDKMAN 安装 Spring Boot CLI:
sdk install springboot |
Mac 使用 Homebrew 安装
如果你使用 Homebrew,可以通过以下命令安装:
brew tap spring-io/tap |
Windows 安装
- 你可以通过官方的 Spring Boot CLI 下载页面下载 ZIP 文件:
Spring Boot CLI 下载页面 - 下载并解压文件,然后将
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
,内容如下:
|
运行 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 |
使用 Gradle 创建项目
spring init --build=gradle --dependencies=web myapp |
生成 Gradle 项目后,同样可以进入项目目录并运行:
cd myapp |
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的官网就有这个,我这里提供网址和截图
在 IntelliJ IDEA 中,
你可以通过 Spring Initializr(在IDEA 2024中是Spring boot) 来快速新建一个 Spring Boot 项目。Spring Initializr 是一个用于生成 Spring Boot 项目骨架的工具,它可以让你选择项目依赖和配置,自动生成项目结构。以下是使用 Spring Initializr 创建一个 Spring Boot 项目的步骤:
使用 IntelliJ IDEA 创建 Spring Boot 项目
- 打开 IntelliJ IDEA
启动 IntelliJ IDEA,点击欢迎页面的 “New Project” 按钮。 - 选择 Spring Initializr
在项目创建窗口,选择 Spring Initializr,然后点击 **”Next”**。 - 配置项目元数据
配置好这些参数后,点击 **”Next”**。
- **Group**:输入项目的组织名称(例如 `com.example`)。
- **Artifact**:输入项目名称(例如 `myapp`)。
- **Name**:项目的名称,通常与 Artifact 名称相同。
- **Type**:选择项目的打包方式,通常选择 **Maven Project** 或 **Gradle Project**。
tips
- (无脑选Maven)
- **Language**:选择 Java(或 Kotlin、Groovy,取决于你要使用的语言)。
- **Spring Boot Version**:选择要使用的 Spring Boot 版本,建议选择最新稳定版本。
- 选择依赖
在依赖选择页面,你可以选择项目所需的依赖。常用的依赖有:
选好依赖后,点击 **”Next”**。
- **Spring Web**:用于构建 Web 应用,包括 RESTful 服务。
- **Spring Data JPA**:用于数据库访问。
- **Spring Security**:用于添加安全认证和授权。
- **MySQL Driver**:如果你要使用 MySQL 作为数据库。
- 配置项目路径
设置项目的保存路径,并点击 **”Finish”**,IDEA 会根据你的配置自动生成项目结构。 - 运行 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.properties
或 application.yml
文件中的配置来实现。例如:
在 application.properties
中:
server.port=8081 |
在 application.yml
中:
server: |
通过这种方式,你可以将默认的 8080 端口更改为其他端口。
再解,application.properties
和 application.yml
有什么区别?
application.properties
和 application.yml
都是 Spring Boot 项目中的配置文件,主要区别在于它们的格式和表示结构的方式,但功能上是等价的。以下是它们的主要区别:
1. 格式
application.properties
是基于键值对的简单配置格式,每一行是一个配置项,形式为key=value
。
server.port=8081 |
application.yml
使用的是 YAML (YAML Ain’t Markup Language) 格式,层级结构更加清晰。YAML 支持缩进表示配置项的层级关系。
server: |
2. 层次结构
application.properties
的配置通常是通过点 (.
) 来表示层次关系,每一行表示一个独立的配置项。
spring.datasource.url=jdbc:mysql://localhost:3306/dbname |
application.yml
更适合处理层次结构的数据,因为它使用缩进表示嵌套关系,结构更加清晰:
spring: |
3. 可读性
application.properties
简单直观,适合处理少量配置。application.yml
更具可读性,尤其是在处理复杂的、多层嵌套的配置时,结构更加简洁明了。
4. 文件解析
- Spring Boot 在启动时会自动解析这两种文件,无论是
application.properties
还是application.yml
,都可以用来配置应用程序。实际上,它们可以同时存在,但建议使用一种格式来保持一致性。
选择使用哪种格式主要取决于个人喜好和项目需求:
- 如果你的配置比较简单,或者团队习惯使用键值对配置,可以选择
application.properties
。 - 如果你喜欢层次化结构、配置较为复杂,或者需要更好的可读性,可以选择
application.yml
。
总之,二者在功能上没有本质区别,主要是语法格式的不同。