是否可以使用Spring批註配置覆蓋導入的資源?如何使用Spring @Configuration重寫導入的資源?
的配置類:
@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class CoreConfiguration {
@Resource(name = "classA")
private ClassA classA;
@Bean(name = "nameIWantToOverride")
private ClassB classB() {
return new ClassB("different setting");
}
}
applicationContext.xml文件包括:
<bean name="classA" class="a.b.c.ClassA">
<property name="nameIWantToOverride" ref="classB" />
</bean>
如果CLASSA有CLASSB場,但我想它使用ClassB的我在我的定義配置類,這是可能的嗎?我嘗試切換順序,但沒有幫助。看起來XML優先,因爲當我運行一個實例化配置的簡單測試時,它永遠不會到達classB方法。如果我更改名稱,使其與xml文件中的bean不匹配,則它會到達classB方法。
我已經看到它可以用其他方式工作:Can spring framework override Annotation-based configuration with XML-based configuration?但是這個方向呢?由於這是更新的做事方式,我認爲你可以做到這一點。
我能做些什麼來解決這個問題?
編輯:用XML更新。假設classA有多個字段,但我只想替換它。
我真的不知道你在問什麼。請詳細說明,也許有一些代碼。 – skaffman
@skaffman我更新了它。我想用註釋配置覆蓋xml spring配置。 Sudhakar是否正確? – AHungerArtist