Intellij 를 사용해서 개발을 하는 도중 @Autowired 어노테이션에 Autowired members must be defined in valid Spring bean 컴파일 오류가 발생했다.
오류메세지인 'Autowired한 멤버는 유효한 Spring bean에서 정의되어야 한다' 로 보아서 해당 클래스가 스프링 빈으로 등록이 안된것으로 보인다.
프로젝트에서 스프링 빈등록은 XML 파일에 context:component-scan base-package 을 통해서 base-package에 있는 클래스들이 빈으로 등록되게 설정으로 되어 있고 @Autowired로 의존성 주입을 받는 방식으로 사용하고 있는데 다른 스프링 빈들은 해당 컴파일 오류가 발생 안하는데 base-package에 신규로 생성한 클래스에서 기존에 다른 클래스에서 의존성 주입 할때는 오류가 발생 안했던 BenefitCalulateMgr 스프링 빈을 @Autowired 할때 컴파일 오류가 발생했다.
이런 경우 스프링 빈 컴포넌트의 Autowired에 대한 유효성 체크를 하는 옵션을 해제해서 컴파일 오류를 발생안하게 할 수 있다.
상단의 File > Settings > Editor > Inspections > Spring > Spring core > Code > Incorrect autowiring in Spring bean components를 체크 해제하면 컴파일 오류가 없어진다.
해당 방법은 올바른 유효성 체크도 안할것으로 보이기 때문에 다른 방법이 있는지는 추가로 확인이 필요할 것 같다.
'개발 > Tool' 카테고리의 다른 글
[Postman] Websocket 테스트 방법 및 Protocol 설정 방법 (1) | 2024.02.20 |
---|---|
[Intellij] Gradle dependency tree 확인 (0) | 2024.01.22 |
[Jenkins] 버전 업데이트 (0) | 2023.12.05 |
[Intellij] SonarLint 소스정적분석 (0) | 2023.12.04 |
[HeidiSQL] 단축키 (0) | 2023.10.31 |