這個問題出的真是抓狂啊!
說說問題現象:
以前都是運行正常的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跟信息提示的匹配。
而我覺得我們重點是在第三點上進行擴展,這樣我們不但可以管理日志,而且可以實現提示信息的自動化!
具體擴展方法,大家要一起討論了!