初探springMVC

1、springMVC简介

1)springMVC架构

Spring MVC是结构最清晰的MVCModel 2实现。它的ActionAction,而是称做ControllerController接收request,response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。但在使用中, Controller返回值一般都只是一

ViewName;Model则需要通过其它的途径(如request.attribute,Context参数,或Controller本身的属性数据)传递上去。


       

2)springMVC流程

  

3)springMVC核心组件


(1)prepareRefresh()

该方法所做的事情相对比较简单:记录容器启动的时间,并设置容器处于活跃状态

(2)、obtainFreshBeanFactory()

该方法的作用:创建BeanFactory实例,并解析Spring的xml配置文件。beanFactory的实现类是:ConfigurableListableBeanFactory。

(3)、prepareBeanFactory

创建好 BeanFactory 后,接着调用prepareBeanFactory方法,添加一些Spring本身需要的一些工具类
(4)、postProcessBeanFactory

方法是spring的一个扩展点之一,是一个空方法,留给子类去扩展。子类可以重写该方法,对已经构建的BeanFactory 的配置根据需要进行修改

(5)、invokeBeanFactoryPostProcessors
该方法的主要功能就是从spring配置文件中,获取实现BeanFactoryPostProcessor 接口的bean,然后按不同的优先级顺序,依次执行BeanFactoryPostProcessor的 postProcessBeanFactory 方法。

(6)、registerBeanPostProcessors

该方法的主要功能是:实例化并注册所有实现BeanPostProcessor接口的bean

(7)、initMessageSource

这个方法主要功能就是为spring容器初始化MessageSource,功能相对简单,如果spring配置文件没有定义messageSource,则使用默认的。

(8)、initApplicationEventMulticaster
这个方法的主要功能是为spring容器初始化ApplicationEventMulticaster,功能也相对简单,如果spring配置文件没有定义applicationEventMulticaster,则使用默认的

(9)、onRefresh该方法,默认是一个空的实现,留给子类去重写。

(10)、registerListeners  该方法的主要功能是注册实现ApplicationListener接口的bean。方法的具体实现如下

(11)、finishBeanFactoryInitialization

这个方法的主要功能是创建Bean 的实例对象以及构建Bean 实例对象之间的关联关系,该方法所做的事情,是spring的一个核心关键所在。

(12)、finishRefresh

该方法的作用是,发送一个ContextRefreshedEvent事件,通知相关的观察者


以上12个方法是springMVC的核心组件


4)SspringMVC-DispatchServlet

(1)Springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
(2)DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller。
(3)DispatcherServlet请请求提交到目标Controller。
(4)Controller进行业务逻辑处理后,会返回一个ModelAndView。
(5)Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象。
(6)视图对象负责渲染返回给客户端。


  DispatcherServlet接受一个请求,然后解析完locales, themes等后,通过HadlerMapping解析控制器Controller去处理请求。

 找到Controller后,出发当前controller的handleRequest()方法,此controller负责真正处理请求,然后一个ModelAndView实例。

  DispatcherServlet 代理此Controller,接收返回结果,然后进行渲染。



1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值