这个问题出的真是抓狂啊!
说说问题现象:
以前都是运行正常的spring2 + ibatis2 配置,现在出现找不到一个节点(提示说指定的resultMap不存在)!
找来找去找不到问题所在,我换成直接jdbc(换了一个项目环境)是可以加载的,问题出在哪里呢?以前的一些配置文件是可以加载的,为什么我新加的文件就不行呢?
于是把所有的依赖包都换成spring3的(提供下载,dependencies包),还是不行!!!
于是看来有几种可能:1.ibatis指定的dtd文件不对(这个问题应该不存在,因为原来有的文件是可以加载的)
2.spring3的依赖包有问题(这个难度太大了)
3.xml解析有问题(这个目标还能小点,但是也不容易啊)
还是从第三点入手比较好说,于是就把源码链接上
还是不行,换了路径,还是不行!
突然想起来,还有自己原来的dom4j包,是不是因为这个造成了xml解析的问题(因为我已经把spring3的那个dom4j加进来了)
删除原来的,再启动。。。。。。
呵呵,好像不是原来的那个错误了
耗费了我这么长时间,终于被我给撞上了,唉。。。。。
开源的东西(尤其是相互依赖的开源包)太让人头疼了。。。。。。。。。。。
在此,再加一个问题的解决:
spring跟spring security结合的时候,在web.xml中配置的context param,不要加多种applicationContext.xml的模式匹配,否则就会引起多重加载,造成spring security的配置文件多次加载出现重复错误!!!!
暂时不知道为什么出现这个问题,反正是把web.xml里面的contextConfigLocation配置去掉了applicationContext*.xml就好了!
还要好好看看到底为什么加上spring security之后,这个配置就出问题了,说明以前就有配置会加载一个<http>的,然后我的applicationContext-security.xml中如果再配置一个的话,就会重复了!
看到这个拦截器的名字时,就有些激动了!
我们的项目里面要控制跟流程关联的异常。如果出现的异常是跟流程相关的,那么就要相应的出现信息提示,而不应该向用户抛出异常!
这点功能在ExceptionMappingInterceptor中已经有了相应的对照,真是令人振奋啊!
跟这个拦截器相关的配置包括:
1.在拦截器栈中的位置;
2.日志管理;
3.本拦截器中对应exception跟信息提示的匹配。
而我觉得我们重点是在第三点上进行扩展,这样我们不但可以管理日志,而且可以实现提示信息的自动化!
具体扩展方法,大家要一起讨论了!