[IntelliJ] 인텔리J 'Autowired members must be defined in valid Spring Bean' 경고 원인 및 없애기
툴 [Tool] 2018. 10. 27. 15:54IntelliJ 'Autowired members must be defined in valid Spring Bean' 경고 원인 및 없애기
IntelliJ로 스프링 개발 도중 자동 의존주입을 위해 @Autowired를 필드에 걸어주었더니 경고 밑줄이 그어졌습니다.
경고 원인
경고 내용을 보니 자동의존주입을 받기 위해서는 현재 클래스 또한 마찬가지로 @Component 등의 스테레오타입 어노테이션을 통해 스프링 빈으로 등록되어 있어야 한다는것 같네요.
해결방법1
즉 다음과 같이 MemberWebservice 또한 스프링 빈으로 등록되어 있어야 한다는 뜻입니다. @Service 어노테이션을 걸어두니 곧바로 경고가 사라졌습니다.
해결방법2
그러나 저와 같이 XML 설정에서 빈으로 등록해 주고 자바 @Autowired 어노테이션으로 의존주입을 받는 식으로 사용하는 경우가 있을것입니다.
이 경우 프로젝트 설정에서 XML 설정파일을 인식해 주어 빈으로 잘 등록되어 있으니 걱정하지 말라고 알려주는것입니다.
Ctrl + Alt + Shift + S 또는 File > Project Structure...
Modules > Spring > Spring Appicaion Context 에서 +를 클릭
설정 파일에 체크 후 OK하고 프로젝트 설정을 저장 후 종료합니다.
해결방법3
마지막 방법으로는 이런 경우에 경고로 표시되지 않도록 하는것입니다.
IntelliJ 실행 > 상단 File > Settings...에 들어가거나 Ctrl + Alt + S 단축키를 이용합니다.
Editor > Inspections > Spring > Spring Core > Code > Autowired members defined in invalid Sping bean에 체크 해제 후 저장
'툴 [Tool]' 카테고리의 다른 글
[IntelliJ] 인텔리J 한글 인코딩(Encoding) 설정 (2) | 2018.11.01 |
---|---|
[IntelliJ] 인텔리J 톰캣 한글 깨질 때 한글 인코딩(Encoding) 설정. (0) | 2018.10.31 |
[IntelliJ] 인텔리J 'Access can be package-private' 경고 원인 및 비활성화 시키기 (0) | 2018.10.25 |
[IntelliJ] 인텔리J 생성자 파라미터 힌트(Constructor Parameter Hint) 보기 및 생성자 자동 완성 설정 (0) | 2018.10.25 |
[IntelliJ] 인텔리J 코드 최소화(자동접힘) 설정 풀기. (2) | 2018.10.24 |