SpringBoot、SpringMVC整合与比较:
# Springboot的功能:
Springboot通过DispatcherServletAutoConfiguration来完成初始化。
spring boot只是一个配置工具,整合工具,辅助工具.零配置的开箱即用(out-o
f-the-box)。
# SpringMVC的本质:
Spring MVC是Spring的一个模块,式一个web框架。通过Dispatcher
Servlet(Controller), ModelAndView 和 View
Resolver,开发web应用变得很容易。
解决的问题领域是网站应用程序或者服务开发——(1)URL路由、(2)Session
、(3)模板引擎、(4)静态Web资源等等。
# Springboot自动加载的套路:
在SpringBoot上实现自定义Starter功能应该都是如下套路:
1、在自定义的XXAutoConfiguration上Import一个ImportBeanDefinitionRegi
strar来注入指定Bean
2、添加自定义的BeanPostProcessor在Bean初始化之前或之后完成配置功能或
初始化某些依赖功能
# Springboot与SpringMVC集成
配置:
SpringBoot整合各个框架是越来越方便了,整合SpringMVC只需要添加对应的s
tarer依赖即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
#流程:
SpringMVC整个流程中包括如下,七个组成部分:
1. 用户(客户端),发送接收请求
2. Controller: 处理DispatchServlet
3. Handler预处理: HandlerMapping 即RequestMapping
SpringBoot、SpringMVC整合与比较:
Springboot的功能:
Springboot通过DispatcherServletAutoConfiguration来完成初始化。 spring boot只是一个配置工具,整合工具,辅助工具.零配置的开箱即用(out-of-the-box)。
SpringMVC的本质:
Spring MVC是Spring的一个模块,式一个web框架。通过Dispatcher Servlet(Controller), ModelAndView 和 View Resolver,开发web应用变得很容易。 解决的问题领域是网站应用程序或者服务开发——(1)URL路由、(2)Session、(3)模板引擎、(4)静态Web资源等等。
Springboot自动加载的套路:
在SpringBoot上实现自定义Starter功能应该都是如下套路: 1、在自定义的XXAutoConfiguration上Import一个ImportBeanDefinitionRegistrar来注入指定Bean 2、添加自定义的BeanPostProcessor在Bean初始化之前或之后完成配置功能或初始化某些依赖功能
Springboot与SpringMVC集成
配置: SpringBoot整合各个框架是越来越方便了,整合SpringMVC只需要添加对应的starer依赖即可。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
#流程: SpringMVC整个流程中包括如下,七个组成部分:
- 用户(客户端),发送接收请求
- Controller: 处理DispatchServlet
- Handler预处理: HandlerMapping 即RequestMapping
- Handler: 编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler (需要programmer去编写)
- HandlerAdapter:Handler适配, 执行handler返回ModelView
- ModelView
- View ( 需要programmer去编写)
其中: 只有Handler前后,各自交互。 其它均是与Controller交互
外延,前世今生: springmvc和struts2区别
1、Struts2的核心控制器是过滤器(filter),springmvc的核心控制器(Servlet) 2、Struts2的Action是多例的,springmvc的Handler(处理器)是单例的 3、Struts2用Action的属性接收客户端数据(必须多例才线程安全),springmvc使用方法的形参接收客户端数据(线程安全的) 4、Struts2是针对Action类型进行mapping(和url关联) 5、Springmvc是针对Handler中的处理请求的方法进行mappring(和url关联), 6、Springmvc在请求处理的控制上更精确,(粒度更小)
今天网上一句话: 看了一下就记住了。 抄袭,拿来主义一下。技术的探路上充满了寂寞和汗水,与汝共勉。
我没有天分,我只有梦的天真
我只是傻,不是愚蠢
我要向你证明,用我的一生~~~