本文介绍了如何在两个项目之间共享存储库和服务类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做两个项目,一个Web应用程序(Spring MVC)和一个独立的后端服务应用程序(Spring Boot),它们大量交互在一起。我对这两个都使用了Hibernate,并且它们都是使用NetBeans IDE编写的。

我的"问题"是,我最终在两个项目中都得到了重复的代码,主要是在存储库和服务层。我的实体显然也是重复的,因为两个项目使用相同的数据库。

有没有办法制作某种类库(可能是第三个项目?)然后把所有常见的代码都放进去?如果这确实是可能的,那么如何更改每个项目,以便他们仍然可以访问这些代码,就像它是他们的一部分一样?我正在考虑将我所有的存储库、服务和实体放在其中,以避免代码重复并极大地降低出错风险。

谢谢!

推荐答案

将这些RepositoryService类分隔到子模块。

结构如下:

-- your app
  -- api    (dependent on `common` module)
  -- webapp (dependent on `common` module)
  -- common

那么问题就是在公共模块内初始化Bean。AFAIK,您有两个选项:

  1. apiwebapp模块的@Configuration类中,将common模块的基包添加到组件扫描包
  2. apiwebapp资源文件夹中,添加Spring配置工厂/src/main/Resources/META-INF/spring.FactoryOrg.springframework.boot.autoconfigure.EnableAutoConfiguration=your.path.AutoConfiguration

    AutoConfiguration类内部@Bean定义服务/存储库

这篇关于如何在两个项目之间共享存储库和服务类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 08:36