Spring MVC 教程,快速入门,深入分析(3)

2019-03-03 23:09

方案一,传统型:

父上下文容器中保存数据源、服务层、DAO层、事务的Bean。 子上下文容器中保存Mvc相关的Action的Bean. 事务控制在服务层。

由于父上下文容器不能访问子上下文容器中内容,事务的Bean在父上下文容器中,无法访问子上下文容器中内容,就无法对子上下文容器中Action进行AOP(事务)。 当然,做为“传统型”方案,也没有必要这要做。

方案二,激进型:

Java世界的“面向接口编程”的思想是正确的,但在增删改查为主业务的系统里,Dao层接口,Dao层实现类,Service层接口,Service层实现类,Action父类,Action。再加上众多的O(vo\\po\\bo)和jsp页面。写一个小功能 7、8个类就写出来了。 开发者说我就是想接点私活儿,和PHP,ASP抢抢饭碗,但我又是Java程序员。最好的结果是大项目能做好,小项目能做快。所以“激进型”方案就出现了-----没有接口、没有Service层、还可以没有众多的O(vo\\po\\bo)。那没有Service层事务控制在哪一层?只好上升的Action层。 本文不想说这是不是正确的思想,我想说的是Spring不会限制你这样做。

由于有了父子上下文,你将无法实现这一目标。解决方案是只使用子上下文容器,不要父上下文容器 。所以数据源、服务层、DAO层、事务的Bean、Action的Bean都放在子上下文容器中。就可以实现了,事务(注解事务)就正常工作了。这样才够激进。 总结:不使用listener监听器来加载spring的配置文件,只使用DispatcherServlet来加载spring的配置,不要父子上下文,只使用一个DispatcherServlet,事情就简单了,什么麻烦事儿也没有了。

Java--大项目能做好--按传统方式做,规规矩矩的做,好扩展,好维护。

Java--小项目能做快--按激进方式做,一周时间就可以出一个版本,先上线接受市场(用户)的反馈,再改进,再反馈,时间就是生命(成本)。

转载请注明出处:原文地址:http://elf8848.iteye.com/blog/875830

六、springMVC-mvc.xml 配置文件片段讲解 (未使用默认配置文件名)

Xml代码

1. 2. 3. 4. 5. 6.

xmlns=\ xmlns:xsi=\ xmlns:tx=\ xmlns:context=\text\ \

7. xmlns:mvc=\8. xsi:schemaLocation=\

a/beans

9. http://www.springframework.org/schema/beans/spring-beans

-3.0.xsd

10. http://www.springframework.org/schema/tx

11. http://www.springframework.org/schema/tx/spring-tx-3.0.x

sd

12. http://www.springframework.org/schema/context

13. http://www.springframework.org/schema/context/spring-con

text-3.0.xsd

14. http://www.springframework.org/schema/mvc

15. http://www.springframework.org/schema/mvc/spring-mvc-3.0.

xsd\>

16. 17.

18.

19.

Unit4\ >

20.

21. 22. 23.

24.

25.

alResourceViewResolver\>

26. 27.

28.

k.web.servlet.view.JstlView\ />

29. 30.

31.

32.

33.

34. 35.

36. 37. 38.

39.

2.

/images/**映射到ResourceHttpRequestHandler进行处理,location指定静态资源的位置.可以是web application根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period 可以使得静态资源进行web cache

如果出现下面的错误,可能是没有配置的原因。 报错WARNING: No mapping found for HTTP request with URI

[/mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'

使用元素,把mapping的URI注册到SimpleUrlHandlerMapping的urlMap中,

key为mapping的URI pattern值,而value为ResourceHttpRequestHandler, 这样就巧妙的把对静态资源的访问由HandlerMapping转到

ResourceHttpRequestHandler处理并返回,所以就支持classpath目录,jar包内静态资源的访问.

另外需要注意的一点是,不要对SimpleUrlHandlerMapping设置defaultHandler.因为对static uri的defaultHandler就是ResourceHttpRequestHandler, 否则无法处理static resources request.


Spring MVC 教程,快速入门,深入分析(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:为客排扰解难

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: