一 springboot
1.什么是springboot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
2.用springboot的好处?
简单、快速、方便
平时搭建一个 SpringWeb项目需要我们自己一步一步搭建框架
- 1)配置 web.xml,加载 Spring 和 Spring mvc
- 2)配置数据库连接、配置 Spring 事务
- 3)配置加载配置文件的读取,开启注解
- 4)配置日志文件
- …
- 配置完成之后部署 Tomcat 调试
- …
等等。。。这都是需要程序员耗大量时间的,做一个简单的web项目我都要进行复杂的操作。
但是使用spingboot呢?
我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目,何乐而不为呢???
生成项目包: https://start.spring.io/
二、springboot 的运行机制
1 首先要了解springMVC和tomcat
1.什么是servlet???
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,
主要功能在于 m交互式地浏览和生成数据,生成动态Web内容,
Servlet运行于支持Java的应用服务器中。且不能够单独运行,可嵌入tomacat、jetty和undertow等使用
作用:用于处理请求(service方法)
生命周期:加载实例化、初始化、处理客户端请求、销毁。
加载实例化主要是交由web容器完成,而其他三个阶段则对应Servlet的init、service和destroy方法。Servlet对象被创建出来后需要对其进行初始化操作,初始化工作可以放在以ServletConfig类型为参数的ini方法中,ServletConfig为web.xml配置文件中配置的对应的初始化参数,由web容器完成web.xml配置读取并封装成ServletConfig对象;当Servlet初始化完成后,开始接受客户端的请求,这些请求被封装成ServletRequest(HttpServletRequest)类型的请求对象和ServletResponse(HttpServletResponse)类型的响应对象,通过service方法处理请求并响应客户端;当一个Servlet需要从web容器中移除时,就会调用对应的destroy方法用于释放所有的资源,并且调用destroy方法之前要保证所有正在执行service方法的线程都完成执行
2.Servlet生命周期:!!!!!
- 加载实例化
- 初始化操作(init方法)
- 处理客户端请求并响应客户端(service方法)
- 销毁没用的servlet(destroy方法)
servlet-mapping告诉我们在哪个controller(在web-xml 主配置文件)servlet路径分发:依靠文件里内容
3.@RestController
1.下面的类被sping容器管理
2.视图控制类(身份管理),身份标签
3.底层携带@ResponseBody注解,可以帮我们简化响应
2.什么是springMVC
1.是对Servlet封装(体现在继承上面)
解决Servlet内容太多、繁杂。。。
然后在web.xml有个自动配置,通过component
2.对视图层转发、分发
Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异
单独的servlet配合tomcat容器就能够实现web服务。但是单独的servlet开发其配置信息会过度臃肿,开发效率低下。随着使用的人越来越多,慢慢就出现了解决开发效率、简化开发配置的框架,比如structs,springMVC等mvc框架。所以实际上springMVC是对servlet的封装,springMVC的核心控制类DispatcherServlet 实际是对 HttpServlet的继承
3.什么是tomcat
tomcat 支持java服务器程序运行的容器,按照特定资源URL找到处理的servlet。然后处理请求。
tomcat的作用:
servlet是无法独立运行的,它必须是运行在支持java服务端程序运行的容器中,而tomcat就是这样的容器
servlet程序部署在tomcat的webapps/ROOT 文件夹里面
SpringBoot
- 整合了Tomacat
- 整合了springmvc
- 自动装配配置
springboot项目天生就自带了tomcat容器、同时通过spring-boot-web-starter jar包整合了spring-web spring-webmvc将servlet和mvc引入了项目中、最后通过支持自动配置文件方式省略了手动配置一切复杂繁琐的第三方组件配置文件。达到了快速构建java web项目的目的,让程序开发人员专注业务代码的实现,而不需要在为开发环境的配置浪费时间。【面试】