使用Grails中服务的最佳方法是什么?

3

我刚开始使用Grails开发一个项目,但是不知道如何使用依赖注入和接口来处理服务。

据我的了解,根据文档,当你创建一个服务时,它只是一个可以自动连接到任何地方的Groovy类。

但是如果我想要为服务创建一个接口,并注入其中一个实现,就像在Java中使用Spring一样,该怎么办呢?

例如,我想要创建一个名为MyService.groovy的服务接口。它将有1个方法doSmth(),并且我会有两个实现:MyServiceImpl1.groovy和MyServiceImpl2.groovy。

我有一个quartz job,类似如下代码:

def myService myService.doSmth()

我应该把Groovy接口放在哪个文件夹中?我需要在src/groovy中创建一个包吗?如何在resources.groovy中配置,以便将“myService”与其中一个服务实现配对?

请帮忙提供任何想法。谢谢!

2个回答

12

运行 grails create-service [name] 是一种方便的方式来部署服务,但它不会创建一个带有实现的接口,这正是你所需要的。

我建议将你的接口和实现放在 src/groovy 中,并使用 resources.groovy 来连接它们(如果你想通过环境部署不同的实现,可以访问环境)。

查看用户指南的第14.2章“使用Spring DSL”,了解如何在 resources.groovy 中连接你的服务。如果你想使用 XML 连接,请使用 resources.xml,但我强烈建议使用 Groovy DSL。


0

只需运行 grails create-service [名称]


它将创建一个服务类。我已经做到了。问题是在哪里放置接口以及如何使用自定义连线。 - Aleksey
最简单的答案是:将它放在相同的目录下,使用相同的包名。 - Orubel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接