@Repository声明的Couchbase Repository Bean无法被Spring识别的求助
Spring Data Couchbase迁移后Repository Bean无法识别问题
将Spring Data MongoDB迁移至Spring Data Couchbase后,Repository Bean无法被Spring容器识别,删除重建项目也无法解决,启动时抛出如下错误:
*************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in com.minerva.borrowings.services.BorrowingServiceImpl required a bean of type 'com.minerva.borrowings.repositories.BorrowingRepo' that could not be found. Action: Consider defining a bean of type 'com.minerva.borrowings.repositories.BorrowingRepo' in your configuration. Process finished with exit code 0
项目结构
└───com └───minerva └───borrowings │ BorrowingsApplication.java │ ├───config │ LoggingConfig.java │ NotificationConfig.java │ ├───controllers │ BorrowingController.java │ ├───entities │ Borrowing.java │ ├───exceptions │ BorrowingNotFoundException.java │ BorrowingServerErrorException.java │ NullBodyException.java │ NullIdException.java │ UnknownIdTypeException.java │ ├───repositories │ BorrowingRepo.java │ └───services BorrowingNotificationSender.java BorrowingService.java BorrowingServiceImpl.java
BorrowingRepo代码
package com.minerva.borrowings.repositories; import com.minerva.borrowings.entities.Borrowing; import org.springframework.data.couchbase.repository.CouchbaseRepository; import org.springframework.stereotype.Repository; @Repository public interface BorrowingRepo extends CouchbaseRepository<Borrowing, String> { }
主启动类说明
BorrowingsApplication.java 使用@SpringBootApplication注解,尝试过添加@ComponentScan或@EnableJpaRepository但问题依旧。
pom.xml依赖配置
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.minerva</groupId> <artifactId>borrowings</artifactId> <version>0.0.1-SNAPSHOT</version> <name>borrowings</name> <description>borrowings</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-couchbase</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.13</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
尝试过的方案
- 改用
JpaRepository或CrudRepository继承,问题仍然存在。
内容的提问来源于stack exchange,提问作者IMNOTIKE
相关产品推荐
相关产品推荐

