2015-09-18 92 views
0

我在5個團隊正在開發的應用程序(我屬於其中一個團隊)中部署應用程序時遇到了Spring上下文問題。我們所有人都編譯我們自己的jar。在本地調試時,Spring加載上下文毫無問題。部署Spring上下文時遇到的問題

當在服務器中部署時,我們一直在調試並發現另一個團隊的上下文正在訪問我的bean(通過id交叉引用它們),因爲我們都使用Mybatis框架,所以通過聲明他們的bean他們正在訪問我的映射器,並且我猜想發生了衝突。服務器拋出錯誤並引用一些自動裝配問題,但不提供更多信息。

儘管如此,我們已經改變了這個bean ID,並且仍然存在Spring的問題。 ¿您是否知道上下文失敗的原因還有其他原因,或者爲什麼這個bean交叉引用?你能推薦一個工具來試圖找出錯誤嗎?

更多信息:我們使用Atlassian工具「Bamboo」自動化jar編譯。我們已經檢查過,我們的最後一個jar版本似乎正在使用中......我不知道我還能告訴你什麼,我不是這個問題的專家。

回答

0

根據您的描述和對「自動裝配問題」的引用,我假定您正在使用@Autowired來注入您的依賴關係。這個註釋本身在注入的類型,所以我想知道你是否實際上注入了,編號爲,因爲你的意圖是。要做到這一點,你可以做兩種:

@Resource(name="myBeanId") 
MyType myVar; 

@Autowired 
@Qualifier("myBeanId") 
MyType myVar; 
+0

的問題是,由於在過去幾年(這是很討厭我,其實)繼承,一些豆子在XML聲明(由id和引用)和其他人通過自動裝配使用春註釋@Autowired。那些使用這個註解的是從Spring的默認自動裝配中引用的,我認爲它是按類型(屬性名稱與類相同,但以小寫開頭) – Fernando

+0

我們昨天注意到的問題是他們正在訪問我們的映射器。我們都有一個需要使用Mybatis的sqlSessionFactory類型的bean。他們有一個id與我們不同,他們使用此id和屬性名稱「sqlSessionFactory」引用它。據我所知,這個屬性名稱是bean內部的東西。但是他們的bean正在與我們交叉參考。 – Fernando

相關問題