1.spring mvc将所有的请求都提交给DispatcherServlet(分发器,前端控制器),它会
委托应用系统的其他模块负责对请求进行真正的处理工作。
2.DispatcherServlet查询一个或多个HandlerMapping(处理器映射),找到处理请求
的Controller.
3.DispatcherServlet将请求提交到目标Controller
4.Controller进行业务逻辑处理后,会返回一个ModelAndView
5.Dispathcher(分配器)查询一个或多个ViewResolver视图解析器,找到
ModelAndView对象指定的视图对象
6.视图对象负责渲染返回给客户端。
为什么用:
AOP (aspect Oriental programing面向方面编程)让开发人员可以创建非行为性的
关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务
(比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加
域对象的对象模型的复杂性。
IOC (Inversion of Control控制反转:在Java开发中,它意味着将你设计好的类交给
系统去控制,而不是在你的类内部控制。不创建对象,但是描述创建它们的方式。在
代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。
)允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正
如单词 倒置 所表明的,IOC 就像反 过来的 JNDI(Java Naming and Directory
Interface,Java命名和目录接口 是一组在Java应用中访问命名和目录服务的API。命
名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名
服务,在这种服务里,对象不但有名称,还有属性)没有使用一堆抽象工厂、服务定
位器、单元素(singleton)和直接构造(straight construction),每一个对象都是
用 其协作对象构造的。
Spring即是一个AOP框架,也是一个IOC容器。 Spring 最好的地方是它有助于您替换对
象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后
可以很容易地在需要时替换具有类似接口的协作对象。