Spring Boot教程(1) – 准备开发环境

如果你从未运行过Spring Boot应用,那你一定很好奇这个框架到底是如何使用的,比如代码是如何组织起来的?程序从哪里开始运行?部署时候需要如何打包?在搞清楚这些问题之前,你需要搭建一个自己的开发环境,开发过程都基于这个环境。

JDK的选择

Spring Boot应用不同于以往的Spring框架应用,它可以像普通的Java程序一样以java -jar app.jar的方式运行。那么这个时候,它就是一个纯Java程序了,你的系统中只要有了Java,就可以把程序跑起来。Spring Boot最新版(2.1.5)的源码是基于Java 8的,你也可以使用Java 11或者其他高于8的版本。在选择Java版本的时候,你可以参考这篇文章。JDK的安装过程不再赘述,想必你在学习Java语法的时候就已经完成了这个过程。我推荐使用Java 11,毕竟你是在学习知识嘛,肯定选择最新的稳定版本,生产环境另说。

构建工具的选择

构建工具可以帮助你组织代码和资源,比如Java代码放在哪个文件夹,配置文件放在哪个文件夹;构建工具可以帮助你管理依赖,你可以使用从别的组拿来的jar包,也可以使用公司内部的依赖仓库,还可以使用github上的项目;构建工具可以编译打包项目,你也可以通过插件来参与修改编译打包的过程,完成定制的需求。Spring Boot支持两种构建工具,MavenGradle

Maven诞生的时间比较早,应用的范围比较广。Maven社区提供了一个中央仓库,你可以在配置文件pom.xml中添加你所需要的库,那么Maven就会去中央仓库去下载,并配置好,接下来你就可以直接在项目代码中使用你要的库了。非常方便,你不需要再去管理一堆jar文件了。

Gradle的配置文件是需要用Groovy编写的(你可别真去学Groovy,比葫芦画瓢就行),他添加依赖的时候比Maven要清晰简洁一点。现在已经被Google定为Android官方构建工具。Gradle继承了Maven的许多优点,比如依赖管理,你可以直接在Gradle中使用中央仓库的库。同时,Maven项目的构建流程比较固定,Gradle对这方面进行了优化,增加了灵活性,你可以自定义任务,也将自己的任务和Gradle的构建流程相关联。

Maven和Gradle使用同样的目录结构:

  • src/main/java 应用的代码
  • src/main/resource 应用的资源
  • src/main/webapp web应用的资源
  • src/test/java 测试所需代码
  • src/test/resource 测试所需资源
  • 还有更多

如果你使用macOS,你可以通过Homebrew安装,输入brew install maven/gradle即可。如果你使用Ubuntu,可以通过apt install maven/gradle来安装。如果你使用windows或者希望使用其他包管理工具,可以尝试下SDKMAN! 。更多的安装说明可以参考Maven官方Gradle官方

Spring Boot建议使用Maven 3.3版本以上,或者Gradle 4.4版本以上。我推荐你使用Gradle,反正项目开始时,配置文件搞完了以后就不怎么动了,万一某天需要自定义,使用Gradle的话还方便一点。这俩构建工具并没有绝对的好坏,跟其他工具一样,领导用啥咱用啥,同事用啥咱用啥,老代码用啥咱用啥,最后才是,我习惯用啥就用啥。

IDE的选择

Spring官方提供了几个开发工具

  • Spring Tools for Eclipse:基于Eclipse,集成了很多相关的插件,如果你是Eclipse的忠实用户,可以使用它。
  • Spring Tools 4 for Visual Studio Code: VS Code的Spring Boot扩展
  • Spring Tools 4 for Atom IDE:Atom的Spring Boot插件

虽说官方提供的工具多,我却一个都没有用过。多年前使用Eclipse开发安卓应用的糟糕体验我现在还记忆犹新。另外两个工具因为不用编辑器,所以没有接触过。Java这种语言,天生要和IDE结合的。如果你不明白自己的需求,那么我推荐你使用IntelliJ IDEA

IntelliJ IDEA的官网

Intellij IDEA在业界被认为是最好的开发工具之一,有社区版和旗舰版之分,旗舰版支持Spring Boot等web开发框架,社区版只支持基本的Java或者其他JVM语言开发,官网有列表可以查看两个版本的详细区别。社区版免费,旗舰版收费,第一年149刀,第二年119刀,以后每年89刀,挺贵的,不过对于一些群体有特价,学生和老师免费,非盈利开源项目开发者免费,培训班免费,非盈利组织半价,创业公司半价等等。

旗舰版和社区版的简略区别

总结

在接下来的教程中,我将使用OpenJDK 11作为JDK,使用Gradle作为构建工具,在macOS用Intellij IDEA写代码,使用Ubuntu进行部署。如果你使用的不是这些东西,不用害怕,继续读下去,不会有很大障碍的,工具只是形式,你需要集中更多精力去理解Spring Boot的用法。

下一篇将讲解如何新建一个Spring Boot项目并跑起来。

发表评论

电子邮件地址不会被公开。