如何在 Eclipse 中创建 Spring Boot 项目

已发表: 2021-05-27

就构建简单的应用程序而言,Java 编程语言通常被认为过于复杂和繁琐。 然而,Java 提供了一个稳定的平台,提供了一个极其成熟的生态系统,使开发人员可以轻松创建强大的软件。

Spring 框架(Java 生态系统中存在的众多强大框架之一)带来了一系列配置和编程模型,以简化 Java 应用程序的开发和测试。

在本文中,我们将介绍 STS IDE(Eclipse Spring Tool Suite)的一些有用特性,这些特性对您在 Eclipse 中开发 Spring Boot 项目或应用程序很有用。 我们将讨论与使用 Eclipse 构建 Spring 应用程序的传统方式相比,STS 的各种好处。

然后,我们将了解如何引导应用程序、如何执行它,以及最终如何添加额外的依赖项。 最后,我们将通过添加应用程序参数来结束本教程。

目录

STS的主要特点

Spring Tool Suite 是 STS 的缩写,是一个基于 Eclipse 的开发环境,专为创建无缝 Spring Boot 项目和应用程序而定制。

STS 为开发人员提供了一个现成的环境,用于实现、调试、运行和部署他们的 Spring 应用程序。 STS 还包括与 Pivotal tc Server、Pivo​​tal Cloud Foundry、Git、Maven 和 AspectJ 的集成。

Spring Tool Suite 是一个在最新 Eclipse 版本之上作为附加层构建的套件。

项目配置

STS 了解所有基本的 Java 项目结构。 该工具解析配置文件并显示有关定义的 bean、注入的依赖项、使用的名称空间的详细信息,并提取某些原型的概述。

STS 功能概述

Eclipse STS 在验证项目时为您的 Spring 应用程序提供快速修复。 例如,当您使用 Spring Data JPA 时,Eclipse IDE 可用于验证查询方法名称。

Spring Tool Suite 还提供了一个易于理解的各种 bean 方法及其关系的图形视图。 如果您想仔细查看 STS 附带的不同图形编辑器,可以分别查看菜单窗口、显示视图和 Spring 下可用的视图。

STS 还为开发人员提供了不限于 Spring 应用程序的附加功能。 您可以在此处查看完整的功能列表

创建一个 Spring 应用程序

让我们从引导一个简单的应用程序开始。 如果没有 STS,可以使用 Spring Initializer 网站或 Spring Boot CLI 创建 Spring 应用程序。 这可以通过单击 STS 仪表板中的 Create Spring Starter Project 来进一步简化。

在“New Spring Starter Project”屏幕中,使用默认设置或根据您的项目进行所需的调整,然后转到下一个屏幕。 在那里,选择“Web”并单击完成。

您的 pom.xml 现在应该如下所示:

<父>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<版本>2.4.0</版本>

<relativePath/> <!– 从存储库中查找父级–>

</父>

<属性>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<java.version>1.8</java.version>

</属性>

<依赖项>

<依赖>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</依赖>

<依赖>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>测试</scope>

</依赖>

</依赖>

如果您运行的是旧版本的 Spring Boot,请在此处找到最新版本

运行应用程序

只需右键单击项目并选择“作为 Spring Boot 应用程序运行”即可启动前面提到的应用程序。 如果没有 STS,您可以使用以下命令从 CLI 运行应用程序:

$ mvn 弹簧启动:运行

默认情况下,Spring 应用程序使用运行在 8080 端口上的 Tomcat 启动。此时,应用程序在 8080 端口上启动,但不执行任何任务,因为我们还没有在其中实现任何代码。

日志记录和 ANSI 控制台

当您使用“运行”命令从 IDE 执行项目时,您会发现控制台输出了一些颜色编码的日志语句。 如果您想关闭这些语句,您可以转到“运行配置”并禁用“在 Spring Boot 选项卡上启用 ANSI 控制台输出”复选框。

或者,您还可以通过在 applications.properties 文件中设置属性值来禁用日志记录语句,如下所示:

spring.output.ansi.enabled=从不

JPA 查询名称检查

有时,实现数据访问层可能会变成一项繁琐的活动。 可能需要编写大量样板代码来实现极其简单的查询和执行分页。 Spring Data JPA 旨在无缝地促进这种数据访问层的实现。

首先,将 JPA 的以下依赖项添加到先前生成的 pom.xml 中:

<依赖>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</依赖>

<依赖>

<groupId>com.h2database</groupId>

<artifactId>h2</artifactId>

</依赖>

您可能已经注意到上面的声明中没有指定您的版本。 这是因为依赖项由 spring-boot-starter-parent 管理。

要使 JPA 工作,您需要为您的项目正确定义实体和事务管理器。 但是,使用 Spring 会为您自动配置这些值。 剩下的唯一事情就是创建实际的实体类。

这些实体由容器创建的实体管理器管理。 让我们创建一个名为 Foo 的实体类:

@实体

公共类 Foo 实现 Serializable {

@ID

@GeneratedValue

私人整数 id;

私有字符串名称;

// 标准的 getter 和 setter

}

容器将从配置包的根目录扫描所有使用@Entity 注解的类。

接下来,让我们为 Foo 实体创建 JPA 存储库:

公共接口 FooRepository 扩展 JpaRepository<Foo, Integer> {

public Foo findByNames(String name);

}

在这个阶段,您可能已经注意到您的 IDE 现在标记此查询方法,但有以下异常:

派生查询无效! 未找到类型 Foo 的属性名称!

这是因为您不小心在 JPA 存储库的方法名称末尾写了一个额外的“s”。 要修复此异常,请删除多余的 s 并将其设置为:

public Foo findByName(String name);

罐子类型搜索

Jar Type Search 是 STS 3.5.0 版本中引入的一项功能。 此功能为尚未在类路径中的类提供内容辅助建议。 STS 帮助开发人员将依赖项添加到他们的 POM 文件中,以防它们不在类路径中。

例如,让我们在 Foo 实体类中添加一行。 为了使其正常工作,请确保 java.util.List 的导入语句已经存在。

现在我们可以按如下方式添加 Google Guava:

private List<String> strings = Lists // ctrl + SPACE 获取代码补全

然后 IDE 建议将几个依赖项添加到类路径中。 从 com.google.common.collect 添加这些依赖项,按回车键,然后从 Guava 添加依赖项。

Guava jar 将自动添加到您的 pom.xml 文件中,如下所示:

<依赖>

<groupId>com.google.guava</groupId>

<artifactId>番石榴</artifactId>

<版本>19.0</版本>

</依赖>

添加应用程序参数

Spring 框架最强大的功能之一是支持可以通过多种方式传递给应用程序的外部配置——作为命令行参数、在 YAML 文件的属性中指定或作为系统属性。 让我们看看如何使用 STS 添加配置选项作为应用程序启动参数。

这可以通过将 Tomcat 配置为在不同的端口上启动来说明。

为了在默认 (8080) 以外的 Tomcat 端口上运行 Spring 应用程序,您需要使用以下命令。 在以下命令中,将自定义端口指定为命令行参数。

mvn spring-boot:run -Drun.arguments=”–server.port=7070”

从世界顶级大学在线学习软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

在本文中,我们介绍了如何在 STS 中执行 Spring 项目和应用程序。 然而,这还不是全部——在开发过程中可以使用更多有用的功能。 虽然本教程很好地帮助您开始在 Eclipse STS 中创建 Spring Boot 项目,但请记住,您可以从中探索和试验很多东西。

如果您有兴趣了解有关 Java 全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为在职专业人士设计,提供 500 多个小时的严格培训,9+项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

什么是弹簧靴?

什么是春季休眠?

Spring hibernate 是一个用于开发企业 Java 应用程序的开源框架。 Spring 框架处理任何 Java 应用程序中最重要的任务。 它允许开发人员在没有任何副作用的情况下对代码进行更改。 它允许代码的可读性并简化应用程序的错误处理。 它支持数据访问和数据映射。 Hibernate框架是面向对象编程语言java的java持久化框架。 它提供了在 java 中管理关系数据的功能。 Hibernate 支持 Java 数据抽象层 (jdo)、Java 远程方法调用 (rmi) 和 Java 事务接口。

什么是弹簧初始化器?

Spring Initializr 是一个方便的在线 Spring 入门工具。 它根据您的需要生成项目。 无论您是在寻找一个简单的 CRUD 应用程序,还是一个成熟的 Web 应用程序,这个小站点都会让您立即开始编码。 使用您选择的技术(Java、Groovy、Grails 等)填充您的项目,它将生成基本的项目结构和依赖项。 您可以添加更多依赖项或根据需要自定义项目。 Spring Initializr 是一个非常酷的工具,可以轻松启动新的 Spring Boot 项目。 它会生成项目结构和配置文件,然后您可以对其进行自定义。 它还为您提供了项目可以基于的技术选择,因此您可以获得选择的优势,而不必自己完成工作。