我正在从事 2 个项目,一个是高度交互的 Web 应用程序 (Spring MVC) 和一个独立的后端服务应用程序 (Spring boot)。我对两者都使用 hibernate ,并且它们都使用 Netbeans IDE 进行编码。
我的“问题”是我最终在两个项目中都得到了重复的代码,主要是在存储库和服务层。我的实体显然也是重复的,因为两个项目都使用相同的数据库。
有没有办法制作某种类库(也许是第三个项目?)并将所有通用代码放在那里?如果这确实可行,那么您如何更改每个项目,以便他们仍然可以访问此代码,就好像它是他们的一部分一样?我正在考虑将我所有的存储库、服务和实体都放在那里以避免代码重复并大大降低出错的风险。
谢谢!
最佳答案
将那些 Repository
和 Service
类分离到一个子模块中。
结构如下:
-- your app
-- api (dependent on `common` module)
-- webapp (dependent on `common` module)
-- common
然后问题是在公共(public)模块中初始化bean。 AFAIK,你有两个选择:
- 在
api
或webapp
模块的@Configuration
类中,将common
模块的基础包添加到组件扫描中包裹 在
api
或webapp
资源文件夹下,添加Spring配置工厂 /src/main/resources/META-INF/spring.factories org.springframework.boot.autoconfigure.EnableAutoConfiguration=你的.path.AutoConfiguration在
AutoConfiguration
类中定义服务/存储库@Bean
关于java - 如何在 2 个项目之间共享存储库和服务类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50352161/