默认情况下,Lagom为每个微服务创建两个模块 - API和实现 .
是否可以将一个微服务划分为3个模块?
绝对 . 您可以像使用任何其他Java或Scala项目一样执行此操作:创建一个子项目,该子项目是服务中包含的内部库 .
有关此示例,请查看Online Auction Java示例Lagom项目 . 具体来说, security 和 tools 子项目 . 这些包含在 build.sbt 中使用 sbt dependsOn 方法的其他服务中 .
security
tools
build.sbt
sbt
dependsOn
例如:
lazy val itemApi = (project in file("item-api")) .settings(commonSettings: _*) .settings( version := "1.0-SNAPSHOT", libraryDependencies ++= Seq( lagomJavadslApi, lombok ) ) .dependsOn(security, tools)
在这种情况下,API项目依赖于其他库,但您可以对实现项目执行相同的操作,以使用API不需要的库 . 请注意,实现项目还依赖于其相应的API,因此API的任何依赖项都由实现继承 .
2 years ago
绝对 . 您可以像使用任何其他Java或Scala项目一样执行此操作:创建一个子项目,该子项目是服务中包含的内部库 .
有关此示例,请查看Online Auction Java示例Lagom项目 . 具体来说,
security
和tools
子项目 . 这些包含在build.sbt
中使用sbt
dependsOn
方法的其他服务中 .例如:
在这种情况下,API项目依赖于其他库,但您可以对实现项目执行相同的操作,以使用API不需要的库 . 请注意,实现项目还依赖于其相应的API,因此API的任何依赖项都由实现继承 .