grails - 在 grails 中使用服务的最佳方式是什么

标签 grails groovy dependency-injection

我刚刚在 grails 上启动了一个项目,但没有找到如何使用依赖注入(inject)和接口(interface)来处理服务。

正如我目前在文档中看到的那样,当您创建服务时 - 它只是一个 groovy 类,可以在任何我想要的地方自动连接。

但是,如果我想拥有一个服务接口(interface)并像我在 Java 中使用 spring 那样注入(inject)它的一个实现呢?

例如,我想要一个服务接口(interface)。让它成为 MyService.groovy
它将有 1 个方法 doSmth()
我将有 2 个实现 - MyServiceImpl1.groovy 和 MyServiceImpl2.groovy

我有一份 quartz 工作做这样的事情
定义我的服务
myService.doSmth()

我应该把groovy界面(文件夹)放在哪里?我应该在 src/groovy 中为此创建一个包吗?
如何配置 resources.groovy 以将“myService”与服务实现的 1 连接?

任何想法表示赞赏

提前致谢!

最佳答案

运行grails create-service [name]是一种部署服务的便捷方式,但它不会像您正在寻找的那样创建具有实现的接口(interface)。

我建议将您的接口(interface)和实现放入 src/groovy并使用 resources.groovy将它们连接起来(如果您想按环境部署不同的实现,您可以访问该环境)。

查看 chapter 14.2 of the user guide 中的“使用 Spring DSL”部分了解如何在 resources.groovy 中连接您的服务。如果您想与 XML 连接,您还可以选择使用 resources.xml,但我肯定会推荐 Groovy DSL。

关于grails - 在 grails 中使用服务的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4678638/

相关文章:

java - 对 Java、Groovy、Jython 和 Python 进行基准测试

grails - 有什么方法可以覆盖默认的 Camel FatalFallbackErrorHandler 吗?

c# - 运行使用 EF Core 的并行异步任务时出现异常

grails - 为什么我们仍然在 Groovy/Grails 中使用 package 关键字?

c# - 到存储库或不到存储库

angular - 如何导入模块或有条件地提供服务? (AOT)

spring - 如何更改 Grails 项目中的 Spring 版本?

grails - 呈现 View ,但gsp中没有对象

grails - Jqgrid破坏了其他jqgrid的属性

hibernate - Grails - 非空属性引用空值或 transient 值