1

插入

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'}
}

资源.groovy

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

控制器

class MyController {
    def myBean
    def myService

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

为什么结果是:

来自 App 的 Bean

插件服务

4

1 回答 1

2

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

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

于 2013-10-10T14:05:09.447 回答