因此,解决方法相当简单,并且是在google groups中提出的,但是在文档中有一些晦涩难懂的地方,我将逐步描述应该做什么。
1. 逻辑隔离你的领域模型
这意味着域类不应该从视图或控制器中调用任何东西。
2.创建包含领域类的子项目
这里给出了一些信息。子项目与默认播放的项目非常相似,创建起来并不难。我没有从 play 的控制台中找到任何工具来执行此操作,因此您需要手动创建一些文件夹。
首先在主项目的文件夹中创建子项目文件夹。假设您将其命名为domain-data。接下来,创建所需的文件夹,如标准应用程序中所述。布局。在大多数情况下,您想在创建的子文件夹中创建简单的目录树:
app
└ models
└ myclasses
现在将所有域类移动到子项目的目录树中。
3.配置
配置将很简单。移动到主项目的项目文件夹并打开Build.scala文件。这是 SBT 构建系统的构建脚本。
首先定义一些依赖项。将以下字符串添加到您的构建文件中:
val domainDependencies = Seq(
"org.projectlombok" % "lombok" % "0.11.4"
)
这会将 Lombok 的 jar 添加到您的子项目中。现在创建子项目定义:
val domainProject = PlayProject(
"domain-data", appVersion, domainDependencies, path=file("domain"), mainLang=JAVA
)
路径应该指向子项目的文件夹。
最后一步是更新主项目配置,使其依赖于子项目。依赖将需要在每个主项目重建时进行子项目重建。
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).dependsOn(domainProject)
毕竟使用终端中给出的播放命令启动主项目,然后输入项目命令。您应该看到您的新子项目。
4. 利润
现在是时候使用 Lombok 安全地重构现有代码了。