SpringBoot 是由 pivotal 提供的 Java 开发框架,伴随着 spring 4.0 版本一起发布,旨在简化 Spring 项目的初始化及开发过程,框架本身为开发过程提供了大量的默认配置,当然我们也可以通过简单的配置来修改。
本片文章将创建一个简单的 SpringBoot 的 demo,默认读者为有 Java 开发基础的开发者,所以文中一些简单过程指挥以文字进行描述
准备工作
在学习 SpringBoot 之前,需要准备一下知识点
- Java 基础及开发环境的搭建
- Spring 及 SpringMVC
- Maven
如果以上知识点处于知识盲区内,建议先进行补课,至少也要先学会简单的应用。
环境
本文中使用到的开发环境如下:
- java 1.8.0_161
- eclipse 4.7.3a
- maven 3.5.2
- springboot 2.0.2
正文
- 在 eclips e中创建 maven project,创建过程中不使用 archetype,packaging 属性默认 jar 即可。
- pom.xml 中添加 SpringBoot 依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 在 src/main/java 下创建基础包,本文为 com.aotian.demo,然后创建一个启动类,本文创建为 SpringBootDemo,这个类用于启动 SpringBoot 内置容器,可以理解为 SpringBoot 程序的入口,SpringBoot 会扫描这个类所在包的所有子包中的内容。创建后添加 main 方法和注解,代码如下:
package com.aotian.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
/**
* springboot启动程序
* @author aotian
*
*/
@SpringBootApplication
public class SpringBootDemo {
public static void main(String[] args) {
SpringApplication.run(SpringBootDemo.class, args);
}
}
- 在上一步的基础包下继续创建子包,本文创建的是 controller 包,然后创建具体的业务类,本文创建为 DemoController,其中代码与 SpringMVC 写法一样,代码如下:
package com.aotian.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 演示项目控制类
* @author aotian
*
*/
@RestController
public class DemoController {
@RequestMapping("/helloSpringBoot")
public String helloSpringBoot() {
return "Hello Spring Boot";
}
}
- 启动 SpringBoot 程序。返回之前的 SpringBootDemo 类中运行 main 方法,可在控制台看到如下内容,其中红线标注的部分提示到:
- springmvc 默认访问地址为 /
- tomcat 默认端口为 8080
- springboot 程序启动成功
- 在浏览器中输入 http://localhost:8080/helloSpringBoot 即可在浏览器中查看其返回的字符串。
通过以上示例我们可以看出,使用 SpringBoot基本可以做到零配置开发 SpringMVC 程序,相比于之前配置web.xml、applicationContext.xml和applicationContext-mvc.xml来说确实简化了不少。
补充:以上过程中,pom.xml 中使用了 parent 标签,实际开发过程中可能已经被其他项目占用了此标签,此时我们可以将示例中的 pom.xml 内容替换为如下:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>