这是我的Spring Boot应用程序相关代码:
@ComponentScan({"net.gencat.transversal.espaidoc.scheduler", "net.gencat.transversal.espaidoc.backoffice"})
public class SchedulerApplication {//...}
另一方面,我在软件包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);
}
}
EDIT2:
我刚刚在Spring日志中意识到与DocumentDAO
相关的一些问题:
--- [main] .RepositoryConfigurationExtensionSupport:Spring Data JPA-无法安全地标识存储库候选接口net.gencat.transversal.espaidoc.backoffice.dao.DocumentDAO的存储分配。
答案 0 :(得分:1)
尝试添加以下内容:
@EnableJpaRepositories(basePackages="net.gencat.transversal.espaidoc.backoffice.dao")
public class SchedulerApplication