0

根据文档GrailsApplicationAware界面是

插件注册的类可以实现的便捷接口。

所以大概实现了这个接口的 Spring bean 可以使用它来获取GrailsApplication. 但是其他对象可以为同样的目的实现这个接口吗?我不清楚这是什么意思

插件注册的类

4

1 回答 1

4

它与标准 Spring 接口的工作方式相同,例如ApplicationContextAware- 实现该接口的任何 bean(无论是隐式注册为人工制品还是显式注册在resources.xmlresources.groovy插件中doWithSpring)都将由框架自动调用其setGrailsApplication(GrailsApplication ga)方法,而无需将其显式命名为属性或打开自动装配。

对于设置为进行自动装配的 bean(例如 Grails 服务),您不需要实现GrailsApplicationAware,您只需要提供一个setGrailsApplication方法(Groovy 属性定义def grailsApplication将为您创建)并且它将自动装配,因为它GrailsApplication已注册为一个名为grailsApplication. 或者当然你可以显式地注入 bean

doWithSpring = {
  myPluginBean(MyPluginBean) {
    grailsApplication = ref('grailsApplication')
  }
}
于 2013-03-08T10:34:27.770 回答