国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

重名spring配置文件可能引起的問題

2019-11-15 01:01:36
字體:
來源:轉載
供稿:網友
重名sPRing配置文件可能引起的問題

不知道大家的項目中有沒有遇見過這種情況。

項目中總共有A.B.C三個module。A有三個spring配置文件,分別叫做bean.xml,service.xml,db.xml。然后B有兩個配置文件,分別叫做service.xml,bean.xml。然后啟動項目,spring加載時卻發現本在A的service.xml中定義的serviceForA死活實例化不了。而且即使你把serviceForA的配置刪掉,并且把項目中引用到的地方全部刪掉,又會發現spring報service.xml中有別的bean無法實例化。

最近我就遇見了這種近乎無解的問題。最后發現引起這種問題可能的原因是,spring為A實例化bean,事實上卻沒有加載A下面的service.xml,而是加載了B下面的service.xml!!!!我當時解壓了項目A打成的jar包,發現A項目下的service.xml文件內容與IDE里的內容完全不一樣,反而是和B的service.xml長得一樣。

深層次分析原因,發現A項目的pom.xml中添加了對B項目的依賴,所以可能spring在加載配置文件的時候,因為對B有依賴,所以決定先去實例化B的bean,先讀取到了B項目下面的service.xml文件,然后放到了A的配置文件集合(這是我自己YY的一個概念)中,等讀到A項目下的service.xml后,發現已經存在一個名為service.xml的文件,于是不再加載A下面本來的service.xml。于是導致了這個坑了我三天的問題。

解決方案很簡單,就是把A項目的service.xml給改個名字,改成serice-A.xml后,重新打包,再去解壓jar包,發現config/spring/下果然多了個service-A.xml,諷刺的是service.xml依然安安靜靜地躺在那。╮(╯▽╰)╭

總之,得到的教訓是盡量不要起重復名字的配置文件,即使這兩個文件放在不同的module中!


上一篇:Java中final的使用

下一篇:關于for循環

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 运城市| 博客| 定边县| 新绛县| 屏东县| 莲花县| 灵台县| 石城县| 双流县| 通江县| 改则县| 徐水县| 曲沃县| 林州市| 桑日县| 云南省| 三明市| 广德县| 肇东市| 兰溪市| 平和县| 长寿区| 辽源市| 肥城市| 盱眙县| 泸定县| 黔东| 武邑县| 德安县| 三门县| 德清县| 古蔺县| 汝阳县| 延长县| 大厂| 信丰县| 江陵县| 合川市| 扶绥县| 康定县| 隆子县|