2013-04-15 43 views
0

這看起來像是一個基本的查詢,但想知道組件掃描標籤是否可以在jar文件中加載applicationcontext文件?Spring上下文加載和組件掃描

例如:包

我已定義的組件的掃描:com.x.y.z這是一個JAR文件中併爲內部com.x.y.x.spring包的jar文件此JAR文件applicationContext.xml中定義。在掃描組件的同時這個上下文文件會被加載嗎?

另外,這個applicationcontext引用了另一個在同一個jar裏面的xml文件。將dat還會與applicationContext文件一起加載。

回答

0

而是在com.x.y.z做組件的掃描,試圖通過自己的Spring上下文將這個導入一個罐子的applicationContext.xml

<import resource="classpath:com/x/y/x/spring/applicationContext.xml"/> 

我相信,這種情況下的文件將定義com.x.y.z的豆包。 Spring將遞歸加載由該導入文件引用的所有上下文文件。

+0

ok但我沒有使用xml格式定義bean,所有bean都使用註釋來定義,所以如果我在applicationContext.xml中放置componentScan標籤,dat還會掃描組件的包嗎? – Metalhead

+0

如果你在'com/x/y/x/spring/applicationContext.xml'內有''',並且將xml導入到你自己的上下文xml中,那麼你將在上下文中使用'com.xyz'包中的所有'@ Component'(以及類似的)帶註釋的bean。 – zagyi

0

組件掃描僅查找具有Spring註釋的類文件。

如果你想加載Spring配置文件,那麼你必須在你的郵件彈簧環境配置中指定它們的路徑。