一、我们可以使用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,你应该能看到类似下图的一个表单:
 在这里你可以选择使用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表单是一样的。
 
 
如果你想在文件系统上指定项目创建的位置,或者把它加入IDE里的特定工作集,就点击Next按钮。你会看到第二个对话框,下如图所示:
 
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初始化向导的第二屏要求你提供项目的一些基本信息,比如项目名称、Maven Group和Artifact、Java版本,以及你是想用Maven还是Gradle来构建项目。描述好项目信息之后,
点击Next按钮就能看到第三屏了,如下图所示:
 
第二屏向你询问项目的基本信息,第三屏就开始问你要往项目里添加什么依赖了。和之前一样,屏幕里的复选框和Spring Boot起步依赖是对应的。选完之后点击Next就到了向导的最后一屏:
最后一屏问你项目叫什么名字,还有要在哪里创建项目。一切准备就绪之后,点击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项目的基线:
$ spring init
在和Initializr的Web应用程序通信后,init命令会下载一个demo.zip文件。解压后你会看到一个典型的项目结构,包含一个Maven的pom.xml构建描述文件。Maven的构建说明只包含最基本的内容,即只有Spring Boot基线和测试起步依赖。你可能会想要更多的东西。
假设你想要构建一个Web应用程序,其中使用JPA实现数据持久化,使用Spring Security进行安全加固,可以用-- dependencies或-d来指定那些初始依赖:
$ spring init -dweb,jpa,security
这条命令会下载一个demo.zip文件,包含与之前一样的项目结构,但在pom.xml里增加了Spring Boot的Web、jpa和security起步依赖。请注意,在-d和依赖之间不能加空格,否则就变成了下载一个ZIP文件,文件名是web,jpa,security。
现在,假设你想用Gradle来构建项目。没问题,用--build参数将Gradle指定为构建类型:
$ spring init -dweb,jpa,security --build gradle
默认情况下,无论是Maven还是Gradle的构建说明都会产生一个可执行JAR文件。但如果你想要一个WAR文件,那么可以通过--packaging或者-p参数进行说明:
$ spring init -dweb,jpa,security --build gradle -p war
到目前为止,init命令只用来下载ZIP文件。如果你想让CLI帮你解压那个ZIP文件,可以指定一个用于解压的目录:
$ spring init -dweb,jpa,security --build gradle -p war myapp
此处的最后一个参数说明你希望把项目解压到myapp目录里去。
此外,如果你希望CLI把生成的项目解压到当前目录,可以使用--extract或者-x参数:
$ spring init -dweb,jpa,security --build gradle -p jar -x
init命令还有不少其他参数,包括基于Groovy构建项目的参数、指定用Java版本编译的参数,还有选择构建依赖的Spring Boot版本的参数。可以通过help命令了解所有参数的情况:
$ spring help init
你也可以查看那些参数都有哪些可选项,为init命令带上--list或-l参数就可以了:
$ 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协议) 异常报错的情况。
例如:
 
这里使用IDEA创建Gradle项目作为示例。
 
首先我们创建一个Gradle项目: File->New->Project->Gradle
 
我们点击Next,然后填入GroupId,ArtifactId以及Version号,点击Next,
 
这里需要注意:
1.不推荐勾选Use auto-import;
2.因为默认从网上下载gradle,非常的慢,所以这里建议勾选: Use local gradle distribution,填好本地的gradle home
之后在NewProject里面填好项目名称以及路径,点击Finish即可。
 
到这里生成了一个Gradle项目,还不是Spring Boot项目,所以我们需要写下Spring Boot的一些基本配置,这里给大家贴一下我的 gradle.build 文件:
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:

(若没有则可以在View里面选择Tool Buttons即可展开)

然后点击refresh刷新按钮。
 
之后我们就会生成Spring Boot项目的目录结构:
src
  |-- main
           |-- java
                    |--com.springboot
                                       |---- SpringBootDemoApplication
           |----resources
  |----test
 
完成。
 
二、小结
无论你是用Initializr的Web界面,在Spring Tool Suite里创建项目,还是用Spring Boot CLI来初始化项目,Spring Boot Initializr创建出来的项目都有相似的项目布局,和你之前开发过的Java项目没什么不同

创建Spring Boot项目的几种方式总结的更多相关文章

  1. Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...

  2. 5分钟学会如何创建spring boot项目

    上一篇博客说了如何创建spring boot项目,但是有些同学会觉得有点麻烦,有没有什么快速学会能快速创建spring boot项目的方法,答案是肯定的.接下来我们就一起来快速创建一个spring b ...

  3. Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件

    由于公司最近在做技术转型(从.Net转Java),因此自己也开启了学习Java之路.学习Java怎么能不学习这几年这么火的Spring Boot框架,由于自己有总结的习惯,因此会把学习的过程以博客的形 ...

  4. 运行 Spring Boot 应用的 3 种方式

    今天介绍 3 种运行 Spring Boot 应用的方式,看大家用过几种? 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启的 ...

  5. IDEA 创建Spring Boot 项目

    一.准备环境 配置Maven,打开设置页面File - Setting,快捷键Ctrl + Alt + S,找到Maven,默认是IDEA 自带的插件,User setting file 配置文件默认 ...

  6. spring boot 之 如何创建spring boot项目

    创建spring boot的方式有非常多,今天我们使用maven来进行创建spring boot项目,因为maven使用的非常广泛,也很好用,很多IDE也都支持maven. 1 创建maven项目 1 ...

  7. 用spring tool suite插件创建spring boot项目时报An internal error occurred during: "Building UI model". com/google/common/

    本文为博主原创,未经允许不得转载 在用spring tool suite创建spring boot项目时,报一下异常: 查阅很多资料之后发现是因为装的spring tool suite的版本与ecli ...

  8. 使用Spring Initializer快速创建Spring Boot项目

    目录结构 IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目:选择我们需要的模块:向导会联网创建Spring Boot项目:默认生成的Spring Boot项目: 主程序 ...

  9. Spring Boot-初学01 -使用Spring Initializer快速创建Spring Boot项目 -@RestController+spEL -实现简单SpringBoot的Web页面

    1.IDEA:使用 Spring Initializer快速创建项目 IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目: 选择我们需要的模块:向导会联网创建Spring ...

随机推荐

  1. ACM--输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。

    代码如下: #include <stdio.h> main() { char a,b,c,d; int i; scanf("%d",&i); getchar() ...

  2. JavaScript:this是什么

    JavaScript:this是什么? 定义:this是包含它的函数作为方法被调用时所属的对象. 说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它! 1.包含它的函数 ...

  3. Jquery radio选中

    radio选中$("input[name=test][value=34]").attr("checked",true);//value=34的radio被选中$ ...

  4. Go beego框架使用笔记(一)

    Beego介绍 beego我认为是go初学者比较容易上手的一门MVC Web框架.简单易懂,最重要的一点就是提供了中文文档,这对于我这种英语能力比较差的人来说就是福音. beego的官网上是这么介绍b ...

  5. 基于tiny4412的u-boot移植(二)

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 平台介绍 开发环境:win7 64位 + VMware11 + Ubuntu14.04 64位 ...

  6. 使用Jenkins部署Spring Boot

    原文:http://www.cnblogs.com/ityouknow/p/7899349.html jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boo ...

  7. windows 7系统搭建PHP网站环境

    2.新建数据库打开浏览器,输入http://localhost:9999或者http://127.0.0.1:9999回车填写用户名root和密码回车登录点击权限-添加新用户填写用户名,主机选择本地, ...

  8. smokeping网络监控

    一.smokeping介绍 我们在选择机房的时候,如何知道这个机房的网络情况,这个时候就要用到网络监控软件:smokeping 本文主要介绍如何使用smokeping来监控idc机房的网络质量情况,从 ...

  9. solr6.6 导入 pdf/doc/txt/json/csv/xml文件

    文本主要介绍通过solr界面dataimport工具导入文件,包括pdf.doc.txt .json.csv.xml等文件,看索引结果有什么不同.其实关键是managed-schema.solrcon ...

  10. Linux网络配置之虚拟网卡的配置(ubuntu 16.04)案例

    sudo vim /etc/network/interfaces 标红的名称一定要一致 sudo vim /etc/resolv.conf  配置外网的ip(默认可以不填,系统自己获取)