0
我是一個相對較新的Spring用戶,我有興趣使用此框架來加載複雜的嵌套配置。Spring,在運行時擴展的內部Bean集合
以下是我的架構設計的僞代碼:
class **A** implements runnable{
int x;
Collection<**B**> clist; //not fixed size list,
run(){
// if (something happens)
// new Thread(**B**(y,z,w))
}
}
class **B** implements runnable{
int y;
int z;
int w;
Array<**C**> bclist; // fixed size array of C known at init time
run(){
process...
}
}
class **C**{
int v;
int l;
}
我需要能夠配置斧,通過,BZ,BW,B.clist,CV和Cl
我有一個與每個新線程的B初始化相關的單個問題,我不知道在編譯時clist是否將保持爲空,並且只有在運行時我纔會知道將創建多少個線程。對於每個新線程,我都會使用相同的配置創建新的B.
(我看着自動裝配和原型的特點,我懷疑它在某種程度上可以幫助)
編輯
在這裏,我有XML示例文件:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="A" class="...">
<property name="x" value="150" />
<!-- HERE IS MY PROBLEM-->
<property name="clist">
<list>
<ref bean="B" />
</list>
</bean>
<bean id="B" class="...">
<property name="y" value="20" />
<property name="z" value="7" />
<property name="w" value="7" />
<property name="bclist">
<list>
<ref bean="C" />
</list>
</bean>
<bean id="C" class="...">
<property name="v" value="3" />
<property name="l" value="1" />
</bean>
</beans>