[spring] IntelliJ IDEA는 Spring의 @Autowired 주석을 사용할 때 오류를 표시합니다.

IntelliJ IDEA는 @Autowired클래스에서 Spring의 주석을 사용할 때 오류를 표시 하지만 클래스는 문제없이 작동합니다.

이 오류 메시지는 다음과 같습니다.

autowired 멤버는 유효한 spring bean (@ Component / @ Service 등)에 정의되어야합니다. less … (Ctrl + F1) Bean 클래스의 자동 연결 문제를 확인합니다.



답변

IntelliJ IDEA 13.1.4에서 동일한 문제가 발생했습니다. Spring 패싯 (File-> Project Structure)을 제거하고 “Detection”만 표시하도록 두어 해결했습니다.


답변

빈이 존재하고 단지 검사 문제라는 것을 알고 있다면 변수 선언 앞에 다음을 추가하십시오.

@SuppressWarnings("SpringJavaAutowiringInspection")
@Inject MyClass myVariable;

때때로 IntelliJ는 빈이 선언 된 경우 (예 : 빈이 조건부로 포함되고 조건 해결이 런타임에 발생하는 경우) 해결할 수 없습니다.


답변

억제 경고를 추가하여 수정했습니다.

 @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
 @Autowired
 private ....


답변

여기에도 같은 오류가 있습니다!

Intellij는 클래스 구현이 @Service 또는 @Component인지 확인할 수 없습니다.

오류에서 경고로 변경하여 해결하십시오 (Alt + Enter 누르기).


답변

모든 프로젝트 모듈에서 .iml 파일을 제거하고 파일-> 캐시 무효화 / 다시 시작으로 이동합니다.


답변

파일-> ProjectStructure-> 모듈-> + (가운데 열)-> Spring-> 확인


답변

나는 같은 문제가 있었다. 각 관련 모듈에 대해 Spring 패싯 (File-> Project Structure)을 추가하여 해결 한 다음 구성 파일을 추가했습니다. 일부 프로젝트 (spring mvc)의 경우 자동으로 감지 된 구성 파일. 그러나 jar 프로젝트의 경우 구성 파일을 수동으로 추가해야했습니다.