강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của rladkgus45532235
rladkgus45532235

câu hỏi đã được viết

Nguyên lý cốt lõi của Spring - Phiên bản cơ bản

Phạm vi Prototype - Giải quyết vấn đề khi dùng chung với Singleton Bean bằng Provider

@Autowired 빨간줄

Viết

·

2.3K

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 오류 메시지가 뜨네요

그런데 테스트 실행은 정상작동 되던데 뭐가 문제인가요?

spring객체지향

Câu trả lời 1

9

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

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

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

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

rladkgus45532235님의 프로필 이미지
rladkgus45532235
Người đặt câu hỏi

감사합니당

Hình ảnh hồ sơ của rladkgus45532235
rladkgus45532235

câu hỏi đã được viết

Đặt câu hỏi