我正在工作的项目之一是项目架构师,他说我们应该将每一层作为一个单独的Maven项目,例如对于实体bean,有一个用于dao接口的maven项目单独的项目dao impl有另一个项目服务接口,有一个项目服务impl有另一个项目,而controller是另一个项目。在控制器中,我们将实体,Dao和服务项目添加为依赖项。这是正确的结构吗?这种结构的弊端和好处是什么?微服务项目结构的正确方法应该是什么? 我们有9个微服务,因此有近40个项目。感觉笨拙。
答案 0 :(得分:0)
您需要为由Beans之类的其他微服务直接消耗的事物创建单独的项目。例如:和微服务隐含的事物。
为什么我们需要分开:
服务A有5个Bean,使用API IServiceAAPI公开
现在,服务B通过使用API IServiceAAPI(假设您的框架自动创建一个调用实际服务的IServiceAAPI对象)来使用服务A,并返回其中一个bean。因此,您要么重写那些使用服务A中原始API的bean,因为当API更改代码时,它会自动获得更新,这将有所帮助。
通常来说,您有一个名为ServiceAAPI的项目,其中包含API,Bean和其他名为ServiceAImpl的项目