spring-boot - Spring Boot:找不到注入的@Repository 类
问题描述
这是我的 Spring Boot 应用程序相关代码:
@ComponentScan({"net.gencat.transversal.espaidoc.scheduler", "net.gencat.transversal.espaidoc.backoffice"})
public class SchedulerApplication {//...}
另一方面,我在 package 上有一个存储库net.gencat.transversal.espaidoc.backoffice.dao
:
@Repository
public interface DocumentDAO extends CrudRepository<Document, String> {
}
所以,我有一个DocumentDAO
依赖的服务:
@Service
public class DocumentServiceBackOffice {
private DocumentDAO documentDAO;
public DocumentServiceBackOffice(DocumentDAO documentDAO) {
this.documentDAO = documentDAO;
}
}
但是,我收到此消息:
NoSuchBeanDefinitionException:没有可用的“net.gencat.transversal.espaidoc.backoffice.dao.DocumentDAO”类型的合格bean
我也试过添加@EnableJpaRepositories
,但它仍然不起作用。
有任何想法吗?
编辑
这是我的SpringApplication
课:
package net.gencat.transversal.espaidoc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;
import net.gencat.transversal.espaidoc.common.config.FrontOfficeProperties;
import net.gencat.transversal.espaidoc.common.config.RedisConfiguration;
@SpringBootApplication(exclude = JmxAutoConfiguration.class)
@EnableConfigurationProperties({
FrontOfficeProperties.class
})
@Import(RedisConfiguration.class)
@EnableScheduling
// @ComponentScan("net.gencat.transversal.espaidoc")
//@EnableJpaRepositories
public class SchedulerApplication {
public static void main(String[] args) {
SpringApplication.run(SchedulerApplication.class, args);
}
}
编辑2:
我刚刚在春季日志中意识到存在一些与以下相关的问题DocumentDAO
:
--- [main] .RepositoryConfigurationExtensionSupport:Spring Data JPA - 无法安全地识别存储库候选接口 net.gencat.transversal.espaidoc.backoffice.dao.DocumentDAO 的存储分配。
解决方案
尝试添加以下内容:
@EnableJpaRepositories(basePackages="net.gencat.transversal.espaidoc.backoffice.dao")
public class SchedulerApplication
推荐阅读
- java-8 - 当服务器基于云时,将 Java 邮件发送到哪个 SMTP 服务器?
- r - lmer poly() 交互作用
- pycharm - 如果包中抛出错误,请不要打开包源文件
- node.js - 有没有办法在 HTTP 端点内触发 Firebase onUpdate()?
- c - Valgrind:无效读取和段错误之间的区别
- kotlin - 如何获取 Kotlin/JS 依赖文件
- ios - 防止IOS自动解压下载的GZIP数据?
- sql - 如何在条件下运行dense_rank()函数?
- arrays - 使用来自另一个数组的元素在 Matlab 中制作数组
- drop-down-menu - 引导下拉切换