저는 Spring bean 간의 확장 된 결합을 가지고있는 커다란 Spring 기반 프로젝트에 참여하고있는 Spring 초보자입니다. 전체 응용 프로그램 기능의 하위 집합을 실행하는 일부 통합 테스트를 작성하려고합니다. 그렇게하기 위해, autowiring의 일부를 오버라이드하고 싶습니다. 예를 들어, 내가 클래스Spring @Autowire 어노테이션을 오버라이드하고 필드를 null로 설정하는 방법은 무엇입니까?
public class MyDataServiceImpl implements MyDataService {
@Qualifier("notNeededForMyDataServiceTest")
@Autowired
private NotNeededForMyDataServiceTest notNeededForMyDataServiceTest;
//...
}
하고있는 컨텍스트 파일이 있다고 가정 : 내 테스트에서
<bean id="myDataService"
class="MyDataServiceImpl">
</bean>
을, 나는 notNeededForMyDataServiceTest
필드를 사용할 필요가 없습니다. @Autowired
주석을 무시하고 notNeededForMyDataServiceTest
을 null로 설정할 수있는 방법이 있습니까? XML 파일입니까? Java 클래스를 수정하고 싶지 않지만 notNeededForMyDataServiceTest
의 (문제가있는) 구성을 피하고 싶습니다. 작동하지 않는
<bean id="myDataService"
class="MyDataServiceImpl">
<property name="notNeededForMyDataServiceTest"><null/></property>
</bean>
:
나는 일을 시도했다. IntelliJ는 "해당 필드에 getter 및 setter가 없으므로"notNeededForMyDataServiceTest '속성을 확인할 수 없습니다. "저는 Spring Framework 3.1.3을 사용하고 있습니다.
당신은 시도 했습니까 : 이 문자열은 null이 될 것이라고 생각하지만 적어도 값을 설정할 수는 있습니다 –
Jayz