SpringMVC

434 查看

SpringMVC
SpringMVC的本质
MVC的核心思想是业务数据抽取同业务数据的呈现相分离。
什么是MVC
Model-View-Controller
View:视图层,为用户提供UI,中点关注数据的呈现。
Model:模型层,业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体的组合。
比如 Order.java
long订单id,long订单号,Integer订单类型,BigDecimal订单价格,List订单详情
Controller:控制层,调用业务逻辑产生合适的数据(Model)传递数据给视图层用于呈现。
MVC 是一种架构模式
程序分层,分工合作,既相互独立,又协同工作。
基本概念
1,前端控制器(DispatcherServlet)
前端控制器类似于医院的前台分诊室,根据你的病情来判断你要去哪个科室,那个科室就相当于一个一个的控制权 Controller
Controller控制器了解各个业务层的数据细节

Controller调用业务逻辑生成Model通过Dispatcher分发给View

HandlerAdapter
在DispatcherServlet中调用Controller是以HandlerAdapter调用的,
HandlerAdapter是一个适配器模式 就是将各种不同的Handler适配成DispatcherServlet可以识别的Handler,这样DispatcherServlet就可以很轻松的调用Controller。

HandlerInterceptor
拦截器,是一个接口,需要的话就的实现,如果不需要的话就不需要管。

HandlerMapping 告诉DispatcherServlet调用哪一个Controller,可以通过annotation实现controller的查找。

HandlerExecutionChain
是通过java的反射机制实现的 Reflection实现的

ModelAndView
对model的一种具体表现形式,DispatcherServlet对spring里面的model和map都处理为ModelAndView,实现map就可以。

ViewResolver
告诉DispatcherServlet要用哪个视图来呈现,根据配置找出视图对象

View
负责呈现页面


在这个框架里面,我们只需要写Controller 的业务逻辑,如果需要配置HandlerInterceptor
ModelAndView不是必须的,可以需要,也可以不需要。HandlerMapping是配置的问题