服务器之家

服务器之家 > 正文

创建Spring Boot项目的几种方式总结(推荐)

时间:2021-05-14 11:21     来源/作者:陈先生丶

一、我们可以使用spring initializr来创建springboot项目

spring initializr从本质上来说就是一个web应用程序,它能为你生成spring boot项目结构。虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构建代码的maven或gradle构建说明文件。你只需要写应用程序的代码就好了。

spring initializr有几种用法。
1.通过web界面使用。
2.通过spring tool suite使用。
3.通过intellij idea使用。
4.使用spring boot cli使用。
5.补充: 单纯地使用gradle或者maven来构建。

1. 使用spring initializr的web界面

要使用spring initializr,最直接的办法就是用浏览器打开http://start.spring.io,你应该能看到类似下图的一个表单:

创建Spring Boot项目的几种方式总结(推荐)

在这里你可以选择使用maven或者gradle来构建项目,以及是基于java还是groovy,以及spring boot的版本,在下面我们可以设置项目的group以及artifact,在右边dependencies里我们可以添加所需要的依赖,输入我们所需要的依赖名称会出现匹配,若没有找到我们需要的依赖,可以点击下面的 "switch to the full version" 就能看到可用依赖的完整列表。这些信息是用来生成maven的pom.xml文件(或者gradle的build.gradle文件)的。

填完表单,选好依赖,点击“generate project”按钮,spring initializr就会为你生成一个项目。浏览器将会以zip文件的形式(文件名取决于artifact字段的内容)把这个项目下载下来。根据你的选择,zip文件的内容也会略有不同。不管怎样,zip文件都会包含一个极其基础的项目,让你能着手使用spring boot开发应用程序。

下载下来之后我们只需要解压缩下然后导入至ide中就好了~

2. 在spring tool suite里创建spring boot项目

长久以来,spring tool suite①一直都是开发spring应用程序的不二之选。从3.4.0版本开始,它就集成了spring initializr,这让它成为开始上手spring boot的好方法。要在spring tool suite里创建新的spring boot应用程序,在file菜单里选中new > spring starter project菜单项,随后spring tool suite会显示一个与下图相仿的对话框。

如你所见,这个对话框要求填写的信息和spring initializr的web界面里是一样的。事实上,你在这里提供的数据会被发送给spring initializr,用于创建项目zip文件,这和使用web表单是一样的。

创建Spring Boot项目的几种方式总结(推荐)

如果你想在文件系统上指定项目创建的位置,或者把它加入ide里的特定工作集,就点击next按钮。你会看到第二个对话框,下如图所示:

创建Spring Boot项目的几种方式总结(推荐)

location指定了文件系统上项目的存放位置。如果你使用eclipse的工作集来组织项目,那么也可以勾上add project to working sets这个复选框,选择一个工作集,这样就能把项目加入指定的工作集了。

site info部分简单描述了将要用来访问initializr的url,大多数情况下你都可以忽略这部分内容。然而,如果要部署自己的initializr服务器(从https://github.com/spring-io/initializr复制代码即可),你可以在这里设置initializr基础url。

点击finish按钮后,项目的生成和导入过程就开始了。你必须认识到一点,spring tool suite的spring starter project对话框,其实是把项目生成的工作委托给http://start.spring.io上的spring initializr来做的,因此必须联网才能使用这一功能。

一旦把项目导入工作空间,应用程序就可以开发了。在开发的过程中,你会发现spring tool suite针对spring boot还有一些锦上添花的功能。比如,可以在run菜单里选中run as > spring boot application,在嵌入式服务器里运行你的应用程序。

注意,spring tool suite是通过rest api与initializr交互的,因此只有连上initializr它才能正常工作。如果你的开发机离线,或者initializr被防火墙阻断了,那么spring tool suite的spring starter project向导是无法使用的。

3. 在intellij idea里创建spring boot项目

intellij idea是非常流行的ide,intellij idea 14.1就开始支持spring boot了。

要在intellij idea里创建新的spring boot应用程序,在file菜单里选择new > project。你会看到几屏内容(如下图),问的问题和initializr的web应用程序以及spring tool suite类似。

创建Spring Boot项目的几种方式总结(推荐)

创建Spring Boot项目的几种方式总结(推荐)

spring boot初始化向导的第二屏要求你提供项目的一些基本信息,比如项目名称、maven group和artifact、java版本,以及你是想用maven还是gradle来构建项目。描述好项目信息之后,点击next按钮就能看到第三屏了,如下图所示:

创建Spring Boot项目的几种方式总结(推荐)

第二屏向你询问项目的基本信息,第三屏就开始问你要往项目里添加什么依赖了。和之前一样,屏幕里的复选框和spring boot起步依赖是对应的。选完之后点击next就到了向导的最后一屏:

创建Spring Boot项目的几种方式总结(推荐)

最后一屏问你项目叫什么名字,还有要在哪里创建项目。一切准备就绪之后,点击finish按钮,就能在ide里得到一个空的spring boot项目了。

4. 在spring boot cli里使用initializr

如果你想仅仅写代码就完成spring应用程序的开发,那么spring boot cli是个不错的选择。然而,spring boot cli的功能还不限于此,它有一些命令可以帮你使用initializr,通过它上手开发更传统的java项目。

spring boot cli包含了一个init命令,可以作为initializr的客户端界面。

init命令最简单的用法就是创建spring boot项目的基线:

?
1
$ spring init

在和initializr的web应用程序通信后,init命令会下载一个demo.zip文件。解压后你会看到一个典型的项目结构,包含一个maven的pom.xml构建描述文件。maven的构建说明只包含最基本的内容,即只有spring boot基线和测试起步依赖。你可能会想要更多的东西。

假设你想要构建一个web应用程序,其中使用jpa实现数据持久化,使用spring security进行安全加固,可以用-- dependencies或-d来指定那些初始依赖:

?
1
$ spring init -dweb,jpa,security

这条命令会下载一个demo.zip文件,包含与之前一样的项目结构,但在pom.xml里增加了spring boot的web、jpa和security起步依赖。请注意,在-d和依赖之间不能加空格,否则就变成了下载一个zip文件,文件名是web,jpa,security。

现在,假设你想用gradle来构建项目。没问题,用--build参数将gradle指定为构建类型:

?
1
$ spring init -dweb,jpa,security --build gradle

默认情况下,无论是maven还是gradle的构建说明都会产生一个可执行jar文件。但如果你想要一个war文件,那么可以通过--packaging或者-p参数进行说明:

?
1
$ spring init -dweb,jpa,security --build gradle -p war

到目前为止,init命令只用来下载zip文件。如果你想让cli帮你解压那个zip文件,可以指定一个用于解压的目录:

?
1
$ spring init -dweb,jpa,security --build gradle -p war myapp

此处的最后一个参数说明你希望把项目解压到myapp目录里去。

此外,如果你希望cli把生成的项目解压到当前目录,可以使用--extract或者-x参数:

?
1
$ spring init -dweb,jpa,security --build gradle -p jar -x

init命令还有不少其他参数,包括基于groovy构建项目的参数、指定用java版本编译的参数,还有选择构建依赖的spring boot版本的参数。可以通过help命令了解所有参数的情况:

?
1
$ spring help init

你也可以查看那些参数都有哪些可选项,为init命令带上--list或-l参数就可以了:

?
1
$ spring init -l

你一定注意到了,尽管spring init –l列出了一些initializr支持的参数,但并非所有参数都能直接为spring boot cli的init命令所支持。举例来说,用cli初始化项目时,你不能指定根包的名字,它默认为demo。spring help init会告诉你cli的init命令都支持哪些参数。

5.补充:单纯地使用gradle(或maven)来构建spring boot项目

该方式适用于在使用spring initializr构建spring boot项目时连接 https://start.spring.io (换成http协议) 异常报错的情况。

例如:

创建Spring Boot项目的几种方式总结(推荐)

这里使用idea创建gradle项目作为示例。首先我们创建一个gradle项目: file->new->project->gradle

创建Spring Boot项目的几种方式总结(推荐)

我们点击next,然后填入groupid,artifactid以及version号,点击next,

创建Spring Boot项目的几种方式总结(推荐)

这里需要注意:

1.不推荐勾选use auto-import;

2.因为默认从网上下载gradle,非常的慢,所以这里建议勾选: use local gradle distribution,填好本地的gradle home

创建Spring Boot项目的几种方式总结(推荐)

之后在newproject里面填好项目名称以及路径,点击finish即可。

创建Spring Boot项目的几种方式总结(推荐)

到这里生成了一个gradle项目,还不是spring boot项目,所以我们需要写下spring boot的一些基本配置,这里给大家贴一下我的 gradle.build 文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
buildscript {
  repositories {
    maven {
      url = 'http://maven.aliyun.com/nexus/content/groups/public/'
    }
  }
  dependencies {
    classpath('org.springframework.boot:spring-boot-gradle-plugin:2.0.3.release')
  }
}
 
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
 
group = 'com.springboot'
version = '1.0.0.0'
 
sourcecompatibility = 1.8
targetcompatibility = 1.8
 
repositories {
  maven {
    url = 'http://maven.aliyun.com/nexus/content/groups/public/'
  }
}
 
dependencies {
  compile('org.springframework.boot:spring-boot-starter-web')
  testcompile('org.springframework.boot:spring-boot-starter-test')
}

(这里使用的阿里云的镜像,推荐使用,下载依赖的速度非常之快,原配置的速度太慢太慢)

之后在右边tool buttons栏里面选择gradle:

创建Spring Boot项目的几种方式总结(推荐)

(若没有则可以在view里面选择tool buttons即可展开)

然后点击refresh刷新按钮。

创建Spring Boot项目的几种方式总结(推荐)

之后我们就会生成spring boot项目的目录结构:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
src
 
 |-- main
 
      |-- java
 
          |--com.springboot
 
                    |---- springbootdemoapplication
 
      |----resources
 
 |----test

完成。

二、小结

无论你是用initializr的web界面,在spring tool suite里创建项目,还是用spring boot cli来初始化项目,spring boot initializr创建出来的项目都有相似的项目布局,和你之前开发过的java项目没什么不同

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/chansblogs/p/9293360.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部