您的位置:首页 > 编程语言 > Java开发

spring中使用mvc和tx命名空间的冲突

2017-11-18 15:44 274 查看
在学习ssm框架整合的过程中,发现如果在springmvc.xml配置文件中,使用<mvc:annotation-driven/>来进行 controller适配器和管理器的配置时,

虽然会自动 配置RequestMappingHandlerMapping和RequestMappingHandlerAdapter,不用使用 bean配置,

但是也会自动引入 .../schema/cache 的命名空间,这个约束会将 <tx:...>约束给替换掉,在启动时出现 cacheManager找不到或是未定义的异常;

解决方案:1:抛弃<mvc:annotation-driven/>,只使用:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
来进行配置,但是会失去 <mvc:annotation-driven/>带来的许多参数绑定的益处;

2:将自动引入的 xml约束和命名空间进行修改(在不需要mvc的cache,缓存的条件下,将schema/cache进行修改),修改为:

xmlns:mvc="http://www.springframework.org/schema/mvc"
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
则可以使用,不冲突

截图如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: