根据文档,GrailsApplicationAware
界面是
插件注册的类可以实现的便捷接口。
所以大概实现了这个接口的 Spring bean 可以使用它来获取GrailsApplication
. 但是其他对象可以为同样的目的实现这个接口吗?我不清楚这是什么意思
插件注册的类
它与标准 Spring 接口的工作方式相同,例如ApplicationContextAware
- 实现该接口的任何 bean(无论是隐式注册为人工制品还是显式注册在resources.xml
或resources.groovy
插件中doWithSpring
)都将由框架自动调用其setGrailsApplication(GrailsApplication ga)
方法,而无需将其显式命名为属性或打开自动装配。
对于设置为进行自动装配的 bean(例如 Grails 服务),您不需要实现GrailsApplicationAware
,您只需要提供一个setGrailsApplication
方法(Groovy 属性定义def grailsApplication
将为您创建)并且它将自动装配,因为它GrailsApplication
已注册为一个名为grailsApplication
. 或者当然你可以显式地注入 bean
doWithSpring = {
myPluginBean(MyPluginBean) {
grailsApplication = ref('grailsApplication')
}
}