我有一個包含列表如何來操作XML定義在Java中
<util:list id="deviceList" value-type="package.path.to.Device">
<ref bean="device1"/>
<ref bean="device2"/>
</util:list>
正被自動連接到我的Java代碼中的XML Spring配置列表豆:
@Autowired
private List<Device> devices;
由於我的工作在動態Web項目上,可以在運行時在列表中添加和刪除設備。
我有觸發週期性的設備上的傳感器的螺紋,並且獲得構造噴射的初始設備列表:
<bean id="sensorTriggerThread" scope="singleton" class="package.path.to.SensorTriggerThread">
<constructor-arg>
<ref bean="deviceList"/>
</constructor-arg>
</bean>
我可以添加並與devices.add/devices.remove通常刪除新設備方法,但這並不影響XML文件中的列表,這會導致新創建的設備不會被觸發。我對Spring相當陌生,看起來我發現自動裝配在兩個方向都不起作用。 如何操作Java類中的XML文件中的設備列表? 我知道有可能以某種方式將此列表編輯爲一個bean,以便與其相關的應用程序的所有部分也可以獲得這些更改。
編輯:我應該提到我沒有對SensorTriggerThread文件的寫入權限,因爲它是jar庫的一部分。
似乎'SensorTriggerThread'不會爲您的列表使用引用,但會將'devuceList'項目複製到內部列表中。這就是爲什麼'deviceList'的任何改變都沒有效果。 –