Java后端生活

SpringMVC(十四)SpringMVC的总结

2018-07-13  本文已影响5人  leeqico

一、SpringMVC 运行流程

二、在 Spring 的环境下使用SpringMVC

Spring 的 IOC 容器不应该扫描 SpringMVC 中的 bean, 对应的SpringMVC 的 IOC 容器不应该扫描 Spring 中的 bean

问题: 若 Spring 的 IOC 容器和 SpringMVC 的 IOC 容器扫描的包有重合的部分, 就会导致有的 bean 会被创建 2 次.

解决:

1. 使 Spring 的 IOC 容器扫描的包和 SpringMVC 的 IOC 容器扫描的包没有重合的部分.

2. 使用 exclude-filter 和 include-filter 子节点来规定只能扫描的注解

三、在 Spring MVC 配置文件中引用业务层的 Bean

多个 Spring IOC 容器之间可以设置为父子关系, 以实现良好的解耦。

Spring MVC WEB 层容器可作为 “业务层” Spring  容器的子容器:即 WEB 层容器可以引用业务层 容器的 Bean,而业务层容器却访问不到 WEB 层 容器的 Bean

SpringMVC 的 IOC 容器中的 bean 可以来引用 Spring IOC 容器中的 bean.

返回来呢 ? 反之则不行. Spring IOC 容器中的 bean 却不能来引用 SpringMVC IOC 容器中的 bean!

四、SpringMVC 对比 Struts2

①. Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter

②. Spring MVC 会稍微比 Struts2 快些. Spring MVC 是基 于方法设计, 而 Sturts2 是基于类, 每次发一次请求都会实 例一个 Action.

③. Spring MVC 使用更加简洁, 开发效率Spring MVC确实比 struts2 高: 支持 JSR303, 处理 ajax 的请求更方便

④. Struts2 的 OGNL 表达式使页面的开发效率相比Spring MVC 更高些.

上一篇下一篇

猜你喜欢

热点阅读