• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Autowired 빨간줄

23.03.17 23:44 작성 조회수 1.72k

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

답변을 작성해보세요.

7

const.takeo님의 프로필

const.takeo

2023.03.18

저도 강의보다가 빨간줄이 떠서 답변이 있을까해서 왔는데 없네요. 일단 해결했기에 제 해결방법을 남겨봅니다.

PrototypeBean과ClientBean에 @Component를 붙여주면 해결되실겁니다.

추측으로서는 테스트시에는 AnnotationConfigApplicationContext에 직접 빈을 등록하고 있기 때문에 테스트는 실패하지 않는것으로 보이고

IDE에서는 컴포넌트 자동스캔설정도 안되어있고 설정정보도없기에 autowired안되요 라고 빨간줄로 보여주는것 같습니다.

김아현님의 프로필

김아현

질문자

2023.03.18

감사합니당