Spring Boot提供了一种新的编程范式,能在最小的阻力下开发Spring应用程序。有了它,我们可以更加敏捷的开发Spring应用程序,专注于应用程序的功能,不用在Spring的配置上多花功夫,甚至完全不用配置。实际上,Spring Boot的一项重要工作就是让Spring不再成为你成功路上的绊脚石。——《Spring Boot实战》
Spring Boot将很多魔法带入了Spring应用程序的开发中,其中最重要的是以下四个核心:
从根本上来说,Spring Boot的项目就是普通的Spring项目,只是它正好用到了Spring Boot的起步依赖和自动配置而已。因此,那些你早已熟悉的从头创建Spring项目的技术或者开发工具,都能用于Spring Boot项目的创建。但是还有一些简洁的途径可以来开启一个新的Spring Boot项目。
使用 Spring Initializr 初始化 Spring Boot 项目
Spring Initializr 从本质上说就是一个Web应用程序,它能为你构建Spring Boot项目结构。虽然不能生成应用程序代码,但它能为你提供一个基本的项目结构,以及一个用于构件代码的Maven或者Gradle构建说明文件。
Spring Initializr 有几种用法:
使用Web方式:
要使用Spring Initializr,最直接的办法就是使用浏览器打开https://start.spring.io,应该能看到一个类似于下图的一个表单。
其中,从上往下,是需要我们选择的配置项,根据个人需求选择
Project: 选择是使用Maven还是Gradle来创建项目。默认Maven,本次选择Maven。
Language: 选择使用的开发语言。默认Java,本次选择Java。
Spring Boot: 选择Spring Boot版本,默认最新版本(非里程碑和快照版本),也可以自由选择其他版本,本次选择最新的2.1.8.
Project Metadata: 指定项目的一些基本信息。最起码得提供项目的Group和Artfact 。点击Options展开,也可以配置一些额外的信息:
Dependencies: 选择需要的依赖,输入关键字就有相应提示,我们选择需要的依赖即可,它会在创建项目时自动在生成的pom.xml(Maven)或者build.gradle(Gradle)引入依赖,当然也可以后期配置。本次选在web依赖即可。
也可以点击旁边的列表方式,将以列表的形式展现可选依赖,如下图所示:
填好表单,选好依赖后,可以点击下方Generate the project 按钮或者使用快捷键Ctrl+Enter,Spring Initializr就会生成一个项目,浏览器将会以zip文件的形式(文件名取决于Artifact字段的内容)把这个项目下载下来。
解压后通过IDEA或者Eclipse将项目导入,导入后我们可以看到项目的基本目录结构如下:
正如我们时长所见,项目里基本没有代码,除了几个空目录外,还包含了如下几样东西:
Maven构建说明:pom.xml
里面定义了Spring Boot版本,groupId、artifactId、项目描述、jdk版本以及web起步依赖。
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.8.RELEASE
com.tumbler
demo1
0.0.1-SNAPSHOT
demo1
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
Demo1Application.java 一个带有main方法的类,用于引导启动应用程序。
package com.tumbler.demo1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Demo1Application {
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
}
}
Demo1ApplicationTests.java 一个空的JUnit测试类,它加载了一个使用Spring Boot自动配置功能的Spring应用程序上下文。
@RunWith(SpringRunner.class)
@SpringBootTest
public class Demo1ApplicationTests {
@Test
public void contextLoads() {
}
}
application.properties 一个空的properties配置文件,可以根据需求添加配置属性。
还有几个空目录:static目录存放的是web应用程序的静态内容(JavaScript、样式表、图片等等),templates目录用于存放呈现模型数据的模板。
这样通过Spring Initializr 的Web方式已经成功创建一个Spring Boot的项目,我们写一个Controller进行测试。
/**
* User:tumbler
* Desc:Spring Boot 项目测试Controller
*/
@RestController
public class HelloController {
@GetMapping("hello.action")
public String hello(){
return "Hello Spring Boot";
}
}
启动项目,控制台可以看到使用内置容器Tomcat,端口号为8080
启动成功,在浏览器输入:http://localhost:8080/hello.action
可以看到成功返回了Hello Spring Boot: