How to share Repository and Service classes between 2 projects(如何在两个项目之间共享存储库和服务类)
问题描述
我正在做两个项目,一个Web应用程序(Spring MVC)和一个独立的后端服务应用程序(Spring Boot),它们大量交互在一起。我对这两个都使用了Hibernate,并且它们都是使用NetBeans IDE编写的。
我的"问题"是,我最终在两个项目中都得到了重复的代码,主要是在存储库和服务层。我的实体显然也是重复的,因为两个项目使用相同的数据库。
有没有办法制作某种类库(可能是第三个项目?)然后把所有常见的代码都放进去?如果这确实是可能的,那么如何更改每个项目,以便他们仍然可以访问这些代码,就像它是他们的一部分一样?我正在考虑将我所有的存储库、服务和实体放在其中,以避免代码重复并极大地降低出错风险。
谢谢!
推荐答案
将这些Repository
和Service
类分隔到子模块。
结构如下:
-- your app
-- api (dependent on `common` module)
-- webapp (dependent on `common` module)
-- common
那么问题就是在公共模块内初始化Bean。AFAIK,您有两个选项:
- 在
api
或webapp
模块的@Configuration
类中,将common
模块的基包添加到组件扫描包 在api
或webapp
资源文件夹中,添加Spring配置工厂 /src/main/Resources/META-INF/spring.Factory Org.springframework.boot.autoconfigure.EnableAutoConfiguration=your.path.AutoConfiguration在
AutoConfiguration
类内部@Bean
定义服务/存储库
这篇关于如何在两个项目之间共享存储库和服务类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在两个项目之间共享存储库和服务类
- 获取数字的最后一位 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 转换 ldap 日期 2022-01-01