一、介绍
Spring Boot 不是一门新技术,从本质上来说,Spring Boot 就是 Spring,Spring 框架功能很强大,但是就算是一个很简单的项目,也需配置很多东西。因此 Spring Boot 的作用就是帮我们自动配置,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作。
某种程度上来说,Spring Boot 默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包,Spring Boot 整合了所有的框架。
Spring Boot 最重要的四个核心:
- 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot 能自动提供相关配置。
- 起步依赖:告诉Spring Boot需要什么功能,从而引入需要的库。
- 命令行界面:是Spring Boot的可选特性,借此只需通过写代码就可完成完整的应用程序,而无需传统项目构建。
- Actuator:让你能够深入运行中的Spring Boot应用程序。
二、入门Demo
首先,我们来对比传统Spring MVC开发一个简单的Hello World Web应用程序,所需的基本的需求。
- 一个项目结构,其中有一个包含必要依赖的Maven或Gradle构建文件,要有Spring MVC和Servlet API这些依赖。
- 一个web.xml文件,其中声明了Spring的DispatcherServlet。
- 一个启动了Spring MVC的Spring配置。
- 一控制器类,相应HTTP请求。
- 一个用于部署应用程序的Web应用服务器,如Tomcat。
其实我们不难看到,这其中只有一个东西是和业务功能相关的,即控制器,剩下的都是Spring开发的Web应用程序必需的通用模板。
接下来看看Spring Boot 会如何来做?
仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目。
构建一个Sping Boot的Maven项目,通常使用Spring Initializr,主要包含:
- pom.xml:Maven构建说明文件。
- HelloApplication.java:一个带有main()方法的类,用于启动应用程序(关键)。
- HelloApplicationTests.java:一个空的Junit测试类,加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。
- application.properties:一个空的properties文件,可根据需要添加配置属性。
入口类:
package com.tianyu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class HelloApplication {
@RequestMapping("/")
public String index(){
return "Hello Spring Boot";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
以上需要注意:
- @SpringBootApplication是Sprnig Boot项目的核心注解,目的是开启自动配置。
- main方法是一个标准的Java应用的main的方法,作为项目启动的入口。
- @RestController注解等价于@Controller+@ResponseBody的结合。
启动项目的三种方式:
- 通过HelloApplication的main方法。
- 通过使用命令 mvn spring-boot:run”在命令行启动该应用。
- 打包成一个可以直接运行的 JAR 文件,通过使用“java -jar”命令直接运行。
网友评论