我正在使用spring-data-mongoDB(没有JPA)从事多个Spring Boot项目。一种包含通用(udc通用)组件,存储库和服务,以及其他使用这些组件的组件(例如udc网关)。在其他项目中,udc-common库被声明为maven依赖项。
gateway pom.xml
<dependency>
<groupId>org.open_si</groupId>
<artifactId>udc-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
在udc-gateway项目中,我有一个rest控制器,它指向udc-comm SampleService。运行时遇到错误
Parameter 0 of constructor in org.open_si.udc_common.services.SampleService required a bean of type 'org.open_si.udc_common.repositories.SampleRepository' that could not be found.
编码机构是:
控制器(SamplesController)属于gateway项目
服务(SampleService)及其存储库(SampleRepository)属于common项目,在网关项目中被声明为maven依赖项
显然,SampleService注入确实起作用,但其SampleRepository依赖项却无效。由于公共软件包是外部软件包,因此我在网关应用程序主类中相应地设置了@componentscan]
尝试
@ComponentScan("org.open_si.udc_common")
和
项目)代码摘录是@ComponentScan({ "org.open_si.udc_common.repositories", "org.open_si.udc_common.services" })
与SampleService相关的SamplesController(gateway
项目)为@RestController @RequestMapping("/samples") public class SamplesController { @Autowired private SampleService service; ......
SampleService(common
@Service @EnableMongoRepositories public class SampleService { @Autowired private SampleRepository sr; void insert(BaseSampleEntity sample) { this.sr.insert(sample); } public void delete(BaseSampleEntity sample) { this.sr.delete(sample); } .....
或也尝试过
项目)为@Service @EnableMongoRepositories public class SampleService { private final SampleRepository sr; public SampleService(SampleRepository repository) { sr = repository; } void insert(BaseSampleEntity sample) { this.sr.insert(sample); } public void delete(BaseSampleEntity sample) { this.sr.delete(sample); }
和SampleRepository(common
@Repository public interface SampleRepository extends MongoRepository<BaseSampleEntity, String> { List<BaseSampleEntity> findByNodeUuid(String Uuid, Sort sort, Pageable pageable); List<BaseSampleEntity> findByFieldUuid(String Uuid, Sort sort, Pageable pageable);
因此引发异常
Parameter 0 of constructor in org.open_si.udc_common.services.SampleService required a bean of type 'org.open_si.udc_common.repositories.SampleRepository' that could not be found.
使我认为Spring Boot IOC进程出了点问题。有什么主意吗?
感谢您的帮助。
我正在使用spring-data-mongoDB(没有JPA)从事多个Spring Boot项目。包含通用(udc通用)组件,存储库和服务的组件,以及其他使用...
您需要将Spring JPA依赖项添加到Maven的Mb