覆盖插件Impl

时间:2013-10-10 09:54:34

标签: grails grails-plugin

插件

class MyService {
    String getFrom(){ return 'Service from plugin'}
}
class MyBean {
    String getFrom(){ return 'Bean from plugin'} 
}

应用

class MyAppBean {
    String getFrom(){ return 'Bean from App'}
}
package myappwithmyplugin
class MyAppService {
    String getFrom(){ return 'Service from App'}
}

resources.groovy

beans = {
    myBean(MyAppBean){}
    myService(MyAppService){}
}

控制器

class MyController {
    def myBean
    def myService

    def index() { 
        println myBean.getFrom()
        println myService.getFrom()
    }
}

结果如何:

来自App的

Bean

插件服务

1 个答案:

答案 0 :(得分:2)

从2.2开始,为了支持命名空间,Grails注册了插件bean名称和bean之类的服务串联。要覆盖插件引入的服务,您需要使用pluginNameServiceName。

源: jira.grails.org/browse/GRAILS-10091