MongoDB를 Spring RESTful API와 통합하려고 하면 사용자는 "'필드에 찾을 수 없는 유형의 빈이 필요합니다.'"라는 오류가 발생할 수 있습니다. 이 오류는 Spring 애플리케이션이 필수 빈(이 경우 UserService 빈)을 찾을 수 없음을 나타냅니다.
오류는 Spring이 프로젝트의 구성 요소를 검색하는 방식으로 인해 발생합니다. 기본적으로 Spring은 @SpringBootApplication이라는 주석이 달린 패키지 내의 구성 요소를 검색합니다. 이 경우 UserService에 의존하는 UsersController 클래스는 기본 검색 경로 외부에 있습니다.
이 문제를 해결하려면 두 가지 주요 접근 방식이 있습니다.
접근 1 : 패키지 검색 사용자 정의
@SpringBootApplication(scanBasePackages={...}) 주석을 사용하여 구성 요소를 검색해야 하는 패키지를 수동으로 지정합니다. 이 경우 기본 애플리케이션 클래스에 다음 줄을 추가합니다.
<code class="java">@SpringBootApplication(scanBasePackages={"main.java.service", "main.java.rest"})</code>
이렇게 하면 Spring이 서비스 및 나머지 패키지 모두에서 구성 요소를 검색하도록 지시합니다.
접근 방식 2: 패키지 구조 재구성
또는 모든 관련 구성 요소가 동일한 패키지 내에 있도록 프로젝트의 패키지 구조를 재구성합니다. 이 경우 다음과 같이 프로젝트를 재구성하세요.
src/ ├── main/ │ └── java/ | └── com.example/ | | ├── Application.java | | ├── model/ | | | └── User.java | | ├── rest/ | | | ├── IndexController.java | | | └── UsersController.java | | ├── service/ | | | └── UserService.java └── resources/ └── application.properties
이렇게 하면 UserService와 관련된 모든 구성 요소가 동일한 패키지 내에 있는지 확인하고 Spring이 자동으로 이를 스캔합니다.
위 내용은 MongoDB를 사용하는 Spring RESTful API에서 \"필드에 찾을 수 없는 유형의 빈이 필요합니다\" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!