用Maven和Gradle安装Spring Boot

x33g5p2x  于2022-10-06 转载在 Spring  
字(3.9k)|赞(0)|评价(0)|浏览(707)

在这篇文章中,我们将讨论用构建工具(即maven和gradle)安装Spring Boot。
我们知道,Spring Boot需要Java 1.8或更高版本。在你开始之前,你应该用以下命令检查你当前的Java安装。

  1. $ java -version

Spring boot提供了漂亮的Spring Boot CLI功能,可以快速尝试使用Spring Boot。如果你是Java开发新手,或者你想试验Spring Boot,你可能想先试试这个Spring Boot CLI(命令行界面)。

Java开发者的安装说明

我们可以以与任何标准Java库相同的方式使用Spring Boot。要做到这一点,在你的classpath上包括适当的spring-boot-*.jar文件。Spring Boot不需要任何特殊的工具集成,所以你可以使用任何IDE或文本编辑器。另外,Spring Boot应用程序没有什么特别之处,所以你可以像运行其他Java程序一样运行和调试Spring Boot应用程序。

虽然你可以复制Spring Boot的jars,但Spring boot团队一般建议我们使用支持依赖性管理的构建工具(如Maven或Gradle)。
让我们讨论一下如何用Maven和Gradle使用或安装Spring Boot。

Maven安装

Spring Boot与Apache Maven 3.3或以上版本兼容。如果你还没有安装Maven,可以按照maven.apache.org的说明进行。如果你是Maven的新手,那么在Maven教程中学习Maven吧

Spring Boot的依赖性使用org.springframework.boot groupId。通常,你的Maven POM文件继承自spring-boot-starter-parent项目,并声明对一个或多个 "启动器 "的依赖。Spring Boot还提供了一个可选的Maven插件,用于创建可执行的jars。
下面的列表显示了一个典型的pom.xml文件。

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.example</groupId>
  6. <artifactId>myproject</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <!-- Inherit defaults from Spring Boot -->
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>2.0.5.RELEASE</version>
  13. </parent>
  14. <!-- Add typical dependencies for a web application -->
  15. <dependencies>
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. </dependencies>
  21. <!-- Package as an executable jar -->
  22. <build>
  23. <plugins>
  24. <plugin>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-maven-plugin</artifactId>
  27. </plugin>
  28. </plugins>
  29. </build>
  30. </project>

spring-boot-starter-parent

所有Spring Boot项目通常在pom.xml中使用spring-boot-starter-parent作为父文件。

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.0.4.RELEASE</version>
  5. </parent>

spring-boot-starter-parent允许我们为多个子项目和模块管理以下事项。

  • 配置 - Java版本和其他属性
  • 依赖性管理 - 依赖性的版本
  • 默认插件配置

我们应该只需要在这个依赖关系上指定Spring Boot的版本号。如果你导入了额外的启动器,你可以安全地省略版本号。

不是每个人都喜欢从spring-boot-starter-parent POM中继承。你可能有自己的企业标准父本需要使用,也可能喜欢明确声明你的所有Maven配置。如果您不想使用spring-boot-starter-parent,您仍然可以通过使用scope=import依赖关系来保持依赖关系管理的好处(但不包括插件管理)。
阅读更多关于 spring-boot-starter-parent 关于Spring Boot Starter Parent概述的信息

Spring Boot Maven插件

  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. </plugin>

Spring Boot Maven插件提供了许多方便的功能。

  • 它收集classpath上的所有jar,并构建一个单一的、可运行的 "über-jar",这使得执行和传输你的服务更加方便。
  • 它搜索公共静态void main()方法,以标记为可运行类。
  • 它提供了一个内置的依赖性解析器,可以设置版本号以匹配Spring Boot的依赖性。你可以覆盖你想要的任何版本,但它将默认为Boot选择的版本集。
    了解如何在Spring Boot 2上用maven创建Spring boot应用程序 Hibernate 5 MySQL CRUD REST API教程

Gradle安装

Spring Boot与Gradle 4兼容。如果你还没有安装Gradle,你可以按照gradle.org的说明来做。

可以通过使用org.springframework.boot组来声明Spring Boot的依赖性。通常情况下,你的项目会声明对一个或多个 "启动器 "的依赖关系。Spring Boot提供了一个有用的Gradle插件,可以用来简化依赖性声明和创建可执行的jar。
Gradle Wrapper

  1. The Gradle Wrapper provides a nice way of obtaining Gradle when you need to build a project. It is a small script and library that you commit alongside your code to bootstrap the build process. See docs.gradle.org/4.2.1/userguide/gradle_wrapper.html for details.

下面的例子显示了一个典型的build.gradle文件。

  1. plugins {
  2. id 'org.springframework.boot' version '2.0.5.RELEASE'
  3. id 'java'
  4. }
  5. jar {
  6. baseName = 'myproject'
  7. version = '0.0.1-SNAPSHOT'
  8. }
  9. repositories {
  10. jcenter()
  11. }
  12. dependencies {
  13. compile("org.springframework.boot:spring-boot-starter-web")
  14. testCompile("org.springframework.boot:spring-boot-starter-test")
  15. }

相关文章