작성
·
2.1K
0
@Scope("singleton")
static class ClientBean{
@Autowired
private Provider<PrototypeBean> provider;
public int logic() {
PrototypeBean prototypeBean = provider.get();
prototypeBean.addCount();
int count = prototypeBean.getCount();
return count;
}
}
위에 코드 @Autowired 에 빨간줄이 생기면서
Inspection 'Incorrect autowiring in Spring bean components' options 오류 메시지가 뜨네요
그런데 테스트 실행은 정상작동 되던데 뭐가 문제인가요?
답변 1
8
저도 강의보다가 빨간줄이 떠서 답변이 있을까해서 왔는데 없네요. 일단 해결했기에 제 해결방법을 남겨봅니다.
PrototypeBean과ClientBean에 @Component를 붙여주면 해결되실겁니다.
추측으로서는 테스트시에는 AnnotationConfigApplicationContext에 직접 빈을 등록하고 있기 때문에 테스트는 실패하지 않는것으로 보이고
IDE에서는 컴포넌트 자동스캔설정도 안되어있고 설정정보도없기에 autowired안되요 라고 빨간줄로 보여주는것 같습니다.
감사합니당