我有一個follofing情況INT「超級context.xml中」:初始化春豆儘可能晚
現在我想用在各種不同的項目這個「超級context.xml的」。說 「子context.xml的」 有:
<import resource="super-context.xml"/>
<bean id="subConf1" class="ee.SubConf">
<property name="confloc" value="classpath:ee/customconf1.sss" />
</bean>
<bean id="subConf2" class="ee.SubConf">
<property name="confloc" value="classpath:ee/customconf2.sss" />
</bean>
...
<bean id="subConfn" class="ee.SubConf">
<property name="confloc" value="classpath:ee/customconfn.sss" />
</bean>
ee.Conf的東西如下:
public class Conf ... {
...
public void addSubConf(Resource res) {
//configuration resolving from res
}
...
}
ee.SubConf的東西如下:
public class SubConf ... {
...
@Autowired
ee.Conf superConf;
...
public void setConfloc(Resource res) {
superConf.addSubConf(res);
}
...
}
問題白羊座上下文負載。豆按以下順序初始化(由於在上下文文件中訂購):conf,service,subConf1,subConf2,... subConfn
但是服務bean實際上依賴於所有subConf bean(儘管這不能從上下文定義本身)。當在subConf bean定義之後添加「sub-context.xml」中的導入時,它會加載OK。
背後的原因是實現模塊化。是否有可能迫使bean儘可能遲的加載(例子中的「service」bean),或者儘快讓bean加載某些類型的bean(例子中的「subConf」bean),因爲在「 sub-context.xml「部分殺死了所希望的模塊化
或者它是一種更純粹的方式來實現這種模塊化?
謝謝,這完全解決了我的問題。我沒有意識到你可以以某種方式自動裝載某些類型的所有bean – Vampnik