如何解决没有“com.example.test.repository.configrepository”类型的限定bean可用:至少需要1个限定autowire的bean

iyr7buue  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(418)

下面是我的目录结构
com.example公司
com.example.common公司
com.example.test测试
com.example.test.repository存储库
我的主要 Spring 靴类如下

package com.example.test;

@Import({ AutoConfig.class })
@SpringBootApplication
public class testApplication {
  public static void main(String[] args) {
    SpringApplication.run(testApplication.class, args);
  }
}

我的知识库分类

package com.example.test.repository.ConfigRepository;

 @Repository
 public interface ConfigRepository extends MongoRepository<Config, String>, QuerydslPredicateExecutor<Config> {

}

这就是我在调试模式下遇到的错误
调试o.s.c.a.classpathbeandefinitionscanner-忽略,因为不是具体的顶级类:file[/opt/<folder\u name>/<folder\u name>/target/classes/com/example/test/repository/configrepository.class]
@import中使用的autoconfig类如下

package com.example.common;

@Configuration
@EnableFeignClients
@ComponentScan({ "com.example.common" })
public class AutoConfig {
zbdgwd5y

zbdgwd5y1#

你的 ConfigRepository 上课时间 com.example.test.repository 这个包裹。
在提供 @ComponentScan ,您正在通过此路径 com.example.common .
所以你不是用这个吗 com.example.test 路径如下。
还有你的 SpringBootApplication 文件或在您的 Config 您可以提供的文件 EnableMongoRepositories 和设置 basePackages 属性。

package com.example.test;

@Import({ AutoConfig.class })
@EnableMongoRepositories(basePackages = {"com.example.test.repository"})
@SpringBootApplication
public class testApplication {
  public static void main(String[] args) {
    SpringApplication.run(testApplication.class, args);
  }
}

@Configuration
@EnableFeignClients
@ComponentScan({ "com.example.test" })
public class AutoConfig {

更多关于 @EnableMongoRepositories 你会从这里得到一个主意。这对你有帮助。

相关问题