默认情况下,Lagom为每个微服务创建两个模块 - API和实现。
是否可以将一个微服务划分为3个以上的模块?
答案 0 :(得分:2)
绝对。您可以像使用任何其他Java或Scala项目一样执行此操作:创建一个子项目,该项目是服务中包含的内部库。
关于Online Auction Java示例Lagom项目的示例。具体来说,security
和tools
子项目。这些内容使用sbt
中的dependsOn
build.sbt
方法包含在其他服务中。
例如:
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的任何依赖项都由实现继承。