1.概念
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。成为SpringBoot全家桶。
2. 特点
- 创建独立的spring应用程序
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置spring
- 提供生产就绪型功能,如指标,健康检查和外部配置
3.作用
- springboot项目可以理解为框架的框架(工具API),spring/springMVC/Mybatis简化框架的调用
- 核心思想:开箱即用
- 内部与spring无缝集成。
4.执行过程
url的解析执行过程:
浏览器输入的url,被解析后传入web中间件(/hi),web中间件再会进一步的解析,找到对应的Controller的某个注解里对应的url @RequestMapping({"/","/hi"}) ,从而就找到HelloController的hi()方法。最终利用反射执行这个类的方法(将来这个方法中就用来编写实现业务逻辑代码)。因为使用了@RestController,返回的String字符串对象底层会使用jackson工具类转换java对象为json字符串,返回给浏览器,浏览器将字符串回显(展示)在页面上。
4.1扩展
4.1.1HTTP协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果等)。
4.1.2执行过程
怎么浏览器输入url就可以找到我们写的controller进行执行并且返回呢?
其实这底层是有一套标准的,这个标准称为HTTP协议。我们浏览器成输入的http://这就代表执行http协议。
4.1.3谷歌浏览器查看请求响应信息
4.1.4头信息
4.1.5响应头
5.IDEA第一个SpringBoot Project
5.2配置maven
5.3 创建RunApp.java
package cn.tedu.cotroller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
@SpringBootApplication
@Controller
public class RunApp {
public static void main(String[] args) {
SpringApplication.run(RunApp.class, args);
}
}
package cn.tedu.cotroller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController//接受浏览器的请求 并返回json数据
public class HelloController {
// @RequestMapping("hi")//只匹配一个路径
@RequestMapping({"hi","hello/hi"})//匹配两种路径/hi或者/hello/hi
public String hi() {
return "hi springboot!";
}
}
5.5测试