什么是spring boot
官网文档地址1
spring boot就是一个使你开发更容易的工具。最终可以生成jar包或者war包。当然也提供了一个工具。可以直接执行spring代码(Spring Boot’s CLI)。
好处:
- 提供了一些系统必须的东西, 比如安全,监控,健康检查,外部配置等等
- 无数现成可用的功能模块2
- 非入侵式的处理方式,你原来代码是怎么处理的,现在依然可以这么处理
系统环境
spring boot 2.1.1需要java 8 (Java10及以上也支持)maven 3.3 gradle 4.4
本文环境: windows操作系统。IntelliJ IDEA。 gradle方式
java下载地址3
小试牛刀
新建一个文件,名字叫app.groovy,内容如下
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
return "Hello World!"
}
}
你没看错。就这么点代码。下面是具体流程:
- 下载Spring Boot’s CLI https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.1.1.RELEASE/spring-boot-cli-2.1.1.RELEASE-bin.zip
- 解压spring-boot-cli-2.1.1.RELEASE-bin.zip。(假设spring.bat位于D:\spring-boot-cli-2.1.1.RELEASE-bin\spring-2.1.1.RELEASE\bin目录下)
- 在当前目录下执行(app.groovy所在的目录)
D:\spring-boot-cli-2.1.1.RELEASE-bin\spring-2.1.1.RELEASE\bin\spring.bat run app.groovy
- 使用浏览器访问127.0.0.1:8080,奇迹出现了。浏览器出现了Hello World!。就这么简单。我们就实现了一个最简单的WEB服务器
标准流程
当然,严格来说,Spring Boot CLI执行的是Groovy脚本,好在这东西和JAVA的差别不大。下面我将介绍标准的spring boot开发流程。
开发环境准备
- 首先是工具,我这里采用的是开源工具IntelliJ IDEA (其实开源的有太多好东西了。我建议大家都用开源的或者正版的东西),下载地址:https://www.jetbrains.com/idea/download/#section=windows 请选择右边Community下的DOWNLOAD。源码地址4
- Create New Project (如果不是第一次打开,选择File->New->Project)
- Project SDK中应该有1.8或者Java version字样,该页面左边选择Gradle,右边勾选Java(默认就会勾选JAVA)点击Next
- GroupId是代表你的组织名字,我是个人。这里取名叫cn.marszhang。ArtfactId代表项目名称,这里取名为spring-boot-demo。Version就不改了。点击Next
- Use auto-import 和Create separate module per source set都勾选上,单选按钮也是选择左边和上面的。点击Next
- 配置你的项目名称和所在目录,点击Next。
准备工作就此完成,第一次会比较慢。请耐心等待。
代码准备
- 访问https://start.spring.io/ Search for dependencies下选择Web,上方选择 Gradle Project,我们就可以得到一个最简单的Spring boot的JAVA工程了。(参考用)
- mkdir -p src/main/java/hello (这步在IDEA环境中就是在java右键New->Package输入目录名hello)
- 打开build.gradle文件,修改如下
buildscript {
ext {
springBootVersion = '2.1.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
- 在刚才新建的hello目录上右键New->Java Class 叫Application。内容修改如下
package hello;
import java.util.Arrays;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 在新建一个类HelloController 内容修改如下
package hello;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Hello world";
}
}
运行
打开Application文件,右键点击run Application 等待片刻,我们就又可以在浏览器访问Hello world啦!
结束语
下一章将介绍测试,健康检查,安全登录的功能
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-documentation ↩︎
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#_learning_about_spring_boot_features ↩︎
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择8u191win64位版本(奇数版本更稳定一些。偶数版本相对冒进) ↩︎
https://github.com/JetBrains/intellij-community,该工具为目前JAVA开发最流行的工具。 ↩︎