现在成为 Java 开发人员难道不是最好的时机吗?

工程 | Ben Wilcock | 2019 年 3 月 7 日 | ...

当然,现在成为 Java 开发人员从未像现在这样好过!

如今,可用的生产力工具在仅仅五年前是难以想象的。

以 **Spring Boot** 为例。许多在 Spring 网站上阅读本文的人可能熟悉 Spring Boot。但让我们花点时间承认它的强大之处。

几年前,如果您要在应用程序中使用 Spring 框架,您必须能够接受一定程度的配置工作会逐渐渗透到您的日常工作中。但这并不是友好的配置,例如(啊,实际上,抱歉,我想不出“友好配置”的例子),而是令人讨厌的 XML 配置,以及附带的 XSD,真是糟糕!

后来,Spring 确实推出了更友好的配置选项(例如基于 Java 的配置),但是 Spring Boot 在 2013 年问世时取得了巨大的成功,它使 Spring 框架开发人员免除了许多此类责任。这主要得益于其创新的“自动配置”功能。

借助 Spring Boot 的“启动器”,您的 Spring 应用程序可以自行配置。您不再需要全面了解平台的细节即可入门。如果您愿意,您仍然可以控制它,但它不再是必需的。这大大降低了 Spring 的学习曲线,并且为 Spring 开发人员带来了极大的解放。所有花费在阅读文档、配置内容、排查错误上的时间都可以用于更好的用途。真是太棒了!

然后还有 Spring Boot 优越的应用程序打包。

Java 的“一次编写,随处运行”的承诺对企业 Java 开发人员来说是一个残酷的笑话。您将花费数小时打包应用程序的 WAR 文件,尝试让您的部署描述符工作,只是后来发现它“仅在您的机器上运行”。气死人了!

Spring Boot 的可执行 JAR 包解决了所有这些乱七八糟的事情。通过将 Web 容器与二进制文件捆绑在一起,您的应用程序可以在任何具有兼容 JVM 的地方运行。真是天才。难怪 Spring Boot 成为 世界上最流行的 Java Web 框架

但要做到这一步,您需要一个可构建的 Java 项目。

坦率地说,启动任何新的 Java 项目都是一件苦差事。Maven 和 Gradle 都是优秀的构建工具。我们离不开它们。但是,它们对 IDE 的支持参差不齐,谁想花时间编辑 POM 文件并弄清楚 Gradle DSL 的最新情况?我不想。我太没耐心了。生命太短暂了。

所以感谢 **Spring Initializr**。使用 Spring Initializr,您可以立即下载一个使用您选择的语言和构建工具构建的现成的 Spring Boot 项目。您甚至不需要浏览器!您可以直接从命令行使用 curlSpring CLI 使用 Spring Initializr。

说真的,如果您以前从未尝试过,请立即尝试一下。这真的很简单

您只需要一个带有 curl 和 Java 的命令行。通过此第一个简单的命令,您可以请求 Spring Initializr 提供一个 Zip 存档,然后您可以解压缩它,然后就可以开始了。只需将解压缩的项目加载到您喜欢的 IDE 中,您就可以立即开始对其进行编码。

curl https://start.spring.io/starter.zip -d dependencies=web,actuator -d baseDir=demo -o demo.zip
unzip demo.zip

我在这里假设的是 Linux,但您也可以为 Windows 和 Mac 获取 curl

现在它已下载并解压缩,让我们运行我们的应用程序并同时尝试 Spring Boot 的出色 JAR 打包。只需键入以下内容即可使用您的 Java VM 启动它…

cd demo
./mvnw package # Use mvnw.cmd on Windows
java -jar target/demo-0.0.1-SNAPSHOT.jar

如果您没有 Java,请访问 https://adoptopenjdk.net/ 获取安装程序或安装说明。

就是这样。Spring Boot 将为您启动应用程序。现在打开您喜欢的浏览器并转到 https://127.0.0.1:8080/actuator/health,您将看到一条 JSON 消息,确认应用程序已启动并正在运行,随时可以使用。

{"status":"UP"}

与过去相比,这一切都非常简单。

事实上,它非常简单,我敢打赌一个孩子都能做到。如果您有一个孩子,为什么不让他们坐下来现在就尝试一下呢?还有什么比使用 Spring Boot 和 Spring Initializr 来开始某人的编码之旅更好的方法呢?为什么不在下面的评论中告诉我们您的体验,或者将您的屏幕截图或照片发布到 @springcentral 并添加标签 #SpringFTW 呢?

下次

在下一次分享中,我将使用这个简单的应用程序并在“类似生产”的环境中运行它,模仿您在创业公司第一天可能做的事情:D

您想了解更多吗?

如果该任务太简单,或者您有更多时间,为什么不将“thymeleaf”和“devtools”依赖项添加到您之前在 Spring Initializr curl 请求中,并按照本教程构建您自己的简单 Web 应用程序:https://springframework.org.cn/guides/gs/serving-web-content/

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您快速提升进度。

了解更多

获得支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部