【发布时间】:2020-04-15 03:52:40
【问题描述】:
有一个多模型的maven项目,目录布局如下:
xxx-父母/ 常见的/ 公共网络/ 会员API/ 管理员-api/ 市场服务/ ...如你所见,有一个父pom,还有多个子模块,common或common-xxx模块是公共部分,可以作为其他非公共模块的依赖,用于代码重用。
问题
-
一个。您会将
model类放在哪里,这些类通常是 POJO,带有私有字段和 getter/setter。
这些模型可能会被多个不常见的子模块重用,(例如market-service和admin-api)。 -
B。对于某些api,这些模型可以在返回的json中重用,但只需要部分字段,您会为这种情况创建一个单独的POJO (通常我称之为
entity)?而且,如果是这样,您可能会将其放在特定的子模块中(例如admin-api),而不是常见的项目,对吧? -
C。如果这是一个基于
spring-boot的项目,并且它使用Redis,我们编写了一个redis util,它可以用于大多数redis 操作。
问题是如果我们把redis util和它的maven依赖放到common中,那么它会在应用启动时自动连接redis,但是有些子模块不需要redis。
我正在考虑的解决方案是:- 为实用程序创建一个单独的子模块
common-redis。
但是也会有其他的实用程序(例如common-jdbc),而且似乎有太多的通用模块。 - 通过
@EnableAutoConfiguration为特定功能(例如 redis)禁用 sprint-boot 的自动配置,这样它就不会在启动时尝试连接到 redis。
- 为实用程序创建一个单独的子模块
【问题讨论】:
标签: java spring-boot maven redis microservices