我是一位Spring新手,他正在開發一個基於Spring的大型項目,該項目在Spring bean之間有着廣泛的聯繫。我正在嘗試編寫一些集成測試,以測試整個應用程序功能的子集。爲此,我想重寫一些自動裝配。 例如,假設我有一個類如何覆蓋Spring @Autowire註解並將字段設置爲null?
public class MyDataServiceImpl implements MyDataService {
@Qualifier("notNeededForMyDataServiceTest")
@Autowired
private NotNeededForMyDataServiceTest notNeededForMyDataServiceTest;
//...
}
,並與上下文文件:
<bean id="myDataService"
class="MyDataServiceImpl">
</bean>
在我的測試,我沒有必要使用notNeededForMyDataServiceTest
領域。有什麼方法可以覆蓋@Autowired
註釋並將notNeededForMyDataServiceTest
設置爲空,也許在XML文件中?我不想修改任何Java類,但我確實想避免notNeededForMyDataServiceTest
的(有問題的)配置。
我試着這樣做:
<bean id="myDataService"
class="MyDataServiceImpl">
<property name="notNeededForMyDataServiceTest"><null/></property>
</bean>
這是行不通的。 IntelliJ通知我「無法解析屬性notNeededForMyDataServiceTest'」,顯然是因爲該字段沒有getter和setter。
我使用Spring框架3.1.3。
您是否嘗試過: ,我認爲這會給你一個字符串null,但你至少可以設置一個值 –
Jayz