如何为DAO实现创建Spring Boot共享库

时间:2018-08-28 20:00:33

标签: java spring-boot shared-libraries

我们收到了一项要求,即必须构建包含多个共享库的模块化应用程序复合,供提供graphql查询以公开这些共享库操作的应用程序使用。

此共享库之一是“核心” jar,其中应包含所有DAO实现(创建,更新,删除,读取实体)。但是,此核心将没有任何REST或运行入口点。

此后,graphql应用程序将将此核心jar添加为maven依赖项,该应用程序将公开所有将使用共享库的查询/变异。

我可以毫无问题地创建spring boot graphql应用程序和spring boot core共享库(不作为自动配置模块),并建立依赖关系。但是,在核心库项目中,当我开始实现DAO时,我遇到了不知道如何测试代码的问题,因为它没有运行的入口点。另外,如果必须创建测试用例,则必须创建测试配置,该配置应启动正在运行的应用程序以执行弹簧测试。

此外,由于必须使用JOOQ和FlywayDB,因此创建此核心库变得更加复杂,因此对于运行测试用例,我将必须使用嵌入式Postgresql数据库。

我对实现此要求有些困惑,我觉得构建一个没有共享库的单个应用程序,然后开始重构它会更加简单。

我在这里错过了什么吗?如果没有入口点,如何执行调试(以及测试)共享库来操作数据库?

0 个答案:

没有答案