Spring Boot应用可以通过如下三种方法创建:

  1. 通过 https://start.spring.io/ 网站创建
  2. 通过 Spring Initializr 创建
  3. 自主创建

推荐开发工具

  • JDK 1.8+
  • IntelliJ IDEA
  • maven 3.3+

在开始之前,先确认是否安装上述工具,在命令行输入 java -version 查看JDK是否正确安装, 输入 mvn -version 查看maven是否正确安装,如果未正确安装,请先查阅相关文档完成安装。

1
2
3
4
5
6
7
8
9
10
11
12
13
PS D:\> java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
PS D:\>
PS D:\>
PS D:\> mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: D:\tool\apache-maven-3.6.0\bin\..
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_201\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
PS D:\>

1. 通过 https://start.spring.io/ 网站创建

进入 https://start.spring.io/,填写对应的信息,如下图所示
项目配置
其中project选 Maven Project, Spring Boot版本选 2.1.5 版, Project Metadata部分, Group一般用你域名的倒序字符串,Artifact即项目名称,选择Packaging类型为Jar,Java版本为8,在Dependencies部分输入Web,选中第一个Spring Web Starter,然后点击“Generate the project”按钮,下载生成的项目。解压项目,在IntelliJ IDEA中 File -> Open 选中项目解压目录打开,即可看到生成的项目结构如下图
项目结构
具体各文件含义后面详述。

2. 通过Spring Initializr创建(推荐)

IntelliJ IDEA中File -> New -> Project...打开新建项目窗口(这里也可以选择New Module, IDEA的Project类似于Eclipse的Workspace,Module则类似于Eclipse的Project,有时候为了将一些项目统一管理,可以建一个Project,然后在Project内部建立Module),如下图所示
新建项目

选择Spring Initializr,点击Next,填写相应信息, 如下图所示
项目配置

点击Next,选择Spring Boot版本以及相应依赖,如下图(这里选择2.1.5版本及Spring Web Starter依赖)
项目配置

然后依次点击Next, Finish完成项目创建。可以看到创建的项目结构与第一种方法一致。

有的旧IDEA版本下项目可能不能编译,IDE未将其识别为maven项目,只需在pom.xml文件上右键,点击Add as Maven project即可。

3. 自主创建

自主创建即像普通Java Maven项目一样,先创建maven项目,然后参考1、2方法中创建的项目结构与目录,手动进行添加。

上述三种创建方法,第1种需要网站生成再下载解压导入,第2种直接基于IDE创建,第3种完全自主手动创建。实际开发中推荐采用第2种创建初始项目原型,再根据具体需求删除或添加相应目录与文件。

4. 项目结构

通过上述方法创建的项目,结构如下图所示

项目结构

其中

  • SpringbootFirstappApplication 为项目入口类,通过SpringApplication.run()方法来启动项目
  • 入口类上的注解 @SpringBootApplication 表明,这是一个Spring Boot项目,它会为你自动做一些Spring Boot项目的处理
  • resources 下的static目录为静态资源目录,可以放置js,css,img之类的资源,templates目录可放置模板文件,一般做前后端分离开发,这两个目录可删除
  • application.properties 文件为项目的配置文件,可在该文件中配置项目所需要的各项配置属性
  • SpringbootFirstappApplicationTests 生成的测试类,可基于此进行单元测试编写
  • pom.xml即为maven配置文档,可看到项目已继承spring-boot-starter-parent,并且引入了spring-boot-starter-webspring-boot-starter-test两项依赖,以及spring-boot-maven-plugin

5. 运行 

上述创建的项目可直接运行,大致有如下几种运行方式:

  1. 直接在项目入口类SpringbootFirstappApplication中右键,点击Run 'SpringbootFirstappAp...'运行
  2. 在项目根目录下打开终端,或IDEA的Terminal中执行mvn spring-boot:run(前提是项目pom.xml文件中引入了spring-boot-maven-plugin)
  3. 使用mvn package打包,然后通过java -jar target\springboot-firstapp-1.0.0-SNAPSHOT.jar 启动(一般用于远程环境的部署启动)
  4. 如果打包成war,将war包部署到tomcat等Servlet容器运行

项目启动后,从启动日志可看出默认端口为8080,但打开 http://localhost:8080 会显示一个404报错页面,这是因为我们还没有编写任何服务。
下面我们添加一个非常简单的Rest服务接口,在项目的根包下(我这里是cn.jboost.springboot.firstapp,实际项目中一般会创建一个controller的子包)添加HelloController类,代码如下

1
2
3
4
5
6
7
@RestController("/hello")
public class HelloController {
@GetMapping
public String hello(@RequestParam(name = "name")String name){
return "您好," + name;
}
}

其中@RestController注解会将返回结果以字符串的方式解析,@GetMapping等效于@RequestMapping(method = {RequestMethod.GET})
重启应用,然后浏览器地址栏中输入 http://localhost:8080/hello?name=jboost, 页面输出如下图:

接口调用

至此,一个可运行的Web项目即已搭建完成,是不是非常简单。

本文示例项目源码地址:https://github.com/ronwxy/springboot-demos/tree/master/springboot-firstapp




我的个人博客地址:http://blog.jboost.cn
我的头条空间: https://www.toutiao.com/c/user/5833678517/#mid=1636101215791112
我的github地址:https://github.com/ronwxy
我的微信公众号:jboost-ksxy

———————————————————————————————————————————————

微信公众号
欢迎关注我的微信公众号,及时获取最新分享