有
插件
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
插件服务
答案 0 :(得分:2)
从2.2开始,为了支持命名空间,Grails注册了插件bean名称和bean之类的服务串联。要覆盖插件引入的服务,您需要使用pluginNameServiceName。
源: jira.grails.org/browse/GRAILS-10091