Spring MVC与Spring Boot

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Megustas_JJC/article/details/82184258

spring boot 我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种 starter ,来方便开发者使用这一系列的技术,套用官方的一句话, spring 家族发展到今天,已经很庞大了,作为一个开发者,如果想要使用 spring 家族一系列的技术,需要一个一个的搞配置,然后还有个版本兼容性问题,其实挺麻烦的,偶尔也会有小坑出现,其实蛮影响开发进度, spring boot 就是来解决这个问题,提供了一个解决方案吧,可以先不关心如何配置,可以快速的启动开发,进行业务逻辑编写,各种需要的技术,加入 starter 就配置好了,直接使用,可以说追求开箱即用的效果吧

spring 框架有超多的延伸产品例如 boot security jpa etc… 但它的基础就是 spring 的 ioc 和 aop ioc 提供了依赖注入的容器 aop 解决了面向横切面的编程 然后在此两者的基础上实现了其他延伸产品的高级功能 Spring MVC 呢是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题 因为 Spring 的配置太复杂了 各种 XML JavaConfig hin 麻烦 于是懒人改变世界推出了 Spring boot 约定优于配置 简化了 spring 的配置流程

Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,于是搞了一些懒人整合包( starter ),这套就是 Spring Boot 。

Spring MVC

(1)springmvc给spring的表现层提供支持

(2)springmvc的流程:


1、 用户发送请求至前端控制器DispatcherServlet;

2、DispatcherServlet收到请求调用HandlerMapping处理器映射器;

3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;

4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器,执行处理器(Controller,也叫后端控制器);

5、Controller执行完成返回ModelAndView,并返回给HandlerAdapter,HandlerAdapter将结果返回给DispatcherServlet;

6、DispatcherServlet将ModelAndView传给ViewReslover视图解析器,ViewReslover解析后返回具体View给DispatcherServlet;

7、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)后返回给给客户

Spring Boot中不必再web.xml或Servlet初始化类中配置DispatcherServleet,只需要有个特殊类来启动Spring Boot应用,通过@EnableAutoConfiguration启用自动配置,通过SpringApplication.run(Application.class,args)来运行应用

Spring Boot

Spring Boot致力于让Spring本身更简单,Spring Boot使用两个技巧来消除Spring项目中的样版式配置:Spring Boot Starter和自动配置

(1)一个简单的Spring Boot Starter依赖能够替换掉Maven构建中多个通用的依赖,例如,项目中添加Spring Boot Web依赖后,将会引入Spring Web和Spring MVC模块,以及Jackson 2数据绑定模块

(2)自动配置充分利用了Spring4.0的条件化配置特性,能够自动配置特定的Spring bean,用来启动某项特性。例如,Spring Boot能够在应用的类路径中探测到Thymleaf,然后自动将Thymeleaf模板配置为Spring MVC视图的bean。

猜你喜欢

转载自blog.csdn.net/Megustas_JJC/article/details/82184258