我刚刚开始了一个关于 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”与服务实现之一连接起来?
任何想法表示赞赏
提前致谢!
最佳答案
运行 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。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文地址:https://stackoverflow.com/questions/4678638/
-
r - 将日期列添加到 XTS 对象-最牛程序员
-
javascript - 通过索引引用对象的属性是否安全?-最牛程序员
-
google-apps-script - 将粗体文本转换为蓝色-最牛程序员
-
google-apps-script - 如何从GAS中的文本框中获取文本?-最牛程序员
-
laravel 5,具有多个值的 where 子句-最牛程序员
-
.net - 混淆 - 实现的接口(interface)需要转换?-最牛程序员
-
gmail - 即使用户没有在 gmail 登录,也获取"popup closed by user"-最牛程序员
-
scala - 如何遍历在单个 scala.xml.Node 中找到的子项列表-最牛程序员
-
grails - 在 grails 中使用服务的最佳方式是什么-最牛程序员
-
angularjs - AngularJS应用范围更改以立即查看-最牛程序员
-
shell - 符合 SUSPOSIX shell 的替换'-nt' 测试-最牛程序员
-
caSTLe-windsor - TypedFactoryFacility : Passing null argument-最牛程序员
-
class - 如何使用类声明将一流模块解压缩为对象的模块?-最牛程序员
-
RESTful 设计 : return an empty object as a template for create new form-最牛程序员
-
.net - 从 .NET 中的 10 000 个项目自动完成-最牛程序员
-
codeigniter - 在CodeIgniter中一次显示多个缩略图-最牛程序员
-
hibernateJBOSS JNDI 配置-最牛程序员
-
regex - 使用Perl和Regex将文件名排序到数组中-最牛程序员
-
asp.net - 部署ASP.NET MVC 4 Web API-最牛程序员
-
libphonenumber - 没有国家代码的反向电话号码查找-最牛程序员