Spring与SpringMVC

1.spring是一个一站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层(springdata)的全套解决方案;

spring的两大核心IOC(控制反转)和AOP(面向切面编程)更是给我们的程序解耦和代码的简介提供了支持。

2.springmvc给spring的表现层提供支持,需要在spring框架支撑下才能跑起来,是一个MVC模式的web开发框架。

 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和SpringMVC的联系

从名字上就可以窥探出,Spring>SpringMVC,那么事实上,spring和SpringMVC是一种父子关系。SpringMVC是spring扩展出的一个应用于web端的框架。在这里需要注意的一点,就是到底什么是父子容器关系:

spring主要的作用是黏合其他模块组件,进行统一管理,springmvc则主要是负责web端。那么,我们都知道,我们在应用spring的时候,可以使用注入。这个时候,如果我们的web端是用的SpringMVC,这个时候,controller理论上是通过SpringMVC去注入,但是,使用spring注入,同样是可行的。同理,service等层,使用SpringMVC配置的统一扫描装配也是可以的。所以,如果说只是为了使用spring的依赖注入,是大可不必将springMVC和spring同时使用的。他们完全可以分开!

但是,尽管SpringMVC和spring都可以进行自动装配扫描,值得注意的是:

spring(父容器)并不能直接访问SpringMVC(子容器)所注入的对象,但是SpringMVC却可以访问到spring装载的对象。所以,在配置自动装配的时候,应该注意到这一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值