前言
Spring Initializr
从本质上来说就是一个Web应用程序,它能为你生成Spring Boot
项目结构。虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以何种编程语言(Java
,Kotlin
,Groovy
)构建的Maven
或Gradle
构建说明文件。你只需要写应用程序的代码就好了。
Spring Initializr
有几种用法。
- 通过
Web
界面使用。 - 通过
Spring Tool Suite
使用。 - 通过
IntelliJ IDEA
使用。 - 使用
Spring Boot CLI
使用。
本例主要讲解Web
界面和IntelliJ IDEA
的使用。
搭建本地start.spring.io
确保本地已安装maven
环境变量且settings.xml
已添加aliyun
源
<mirror> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
下载源代码构建
git clone https://github.com/spring-io/start.spring.io.git
`mvn clean install -DskipTests` 时间略长,请耐心等待,会安装`node`和`yarn`依赖
本地运行应用程序
cd 项目目录 mvn spring-boot:run 然后访问 `http://localhost:8080/`
通过Spring Initializr的Web界面
要使用Spring Initializr
,最直接的办法就是用浏览器打开http://start.spring.io
,你应该能看到以下一个表单,由于上面我们已经在本地搭建好了Spring Initializr
也可以直接访问http://localhost:8080/
查看以下表单
表单的左侧上方选项是,你想用Maven还是Gradle来构建项目,何种编程语言来编写代码,以及使用Spring Boot的哪个版本。程序默认生成Maven项目,并使用Spring Boot的最新版本(非里程碑和快照版本),但你也可以自由选择其他选项。
表单的左侧下方是,你指定项目的一些基本信息。最起码你要提供项目的Group、Artifact、项目名称、项目描述、报名、打包方式和依赖的Java版本。这些 信息是用来生成Maven的pom.xml文件(或者Gradle的build.gradle文件)的。
表单右侧要你指定项目依赖,最简单的方法就是在文本框里键入依赖的名称。随着你的输入会出现匹配依赖的列表,选中一个(或多个)依赖,选中的依赖就会加入项目。
填完表单,选好依赖,点击Generate按钮,Spring Initializr就会为你生成一个项目。浏览器将会以ZIP文件的形式(文件名取决于Artifact字段的内容)把这个项目下载下来。根据你的选择,ZIP文件的内容也会略有不同。不管怎样,ZIP文件都会包含一个极其基础的项目,让你能着手使用Spring Boot开发应用程序。
解压项目目录如下:
testcoder ├── HELP.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main │ ├── java │ │ └── cn │ │ └── forxiu │ │ └── testcoder │ │ └── TestcoderApplication.java │ └── resources │ ├── application.properties │ ├── static │ └── templates └── test └── java └── cn └── forxiu └── testcoder └── TestcoderApplicationTests.java
如你所见,项目里基本没有代码,除了几个空目录外,还包含了如下几样东西。
- pom.xml: Maven构建文件说明
- NiocoderApplication.java: 一个带有main()方法的类,用于引导启动应用程序
- NiocoderApplicationTests.java: 一个空的JUnit测试类
- application.properties:一个空的properties文件,你可以根据需要添加配置属性
在Spring Boot
应用程序中,就连空目录都有自己的意义。static
目录放置的是Web应用程序的 静态内容(JavaScript
、样式表、图片,等等)。还有,稍后你将看到,用于呈现模型数据的模板 会放在templates目录里。