2011-11-22 59 views
4

我有一个在Groovy中实现的Grails服务,我想在Web应用程序中注入一个Java类。我知道我可以通过applicationContext.getBean(“exampleService”)获得Java中的bean,但编译时未知类型ExampleService。将Groovy Grails服务注入到Java类中

我可以简单地导入服务吗?它似乎没有宣布一个典型的包。

(我是相当新的的Grails和Java Web,以便任何事情来帮助我的东西是怎么回事幕后非常感谢理解。)

回答

2

如果你不想使用applicationContext.getBean("exampleService")注入Grails的服务到Java类,Java类本身必须是一个Spring bean,你应该二者连接在一起,在任何resources.groovyresources.xml

如果上述内容对您没有多大意义,您可能需要阅读Spring依赖注入的基础知识。

0

什么多纳尔说了之后,你可以将Java类作为resources.groovy

例如豆,假设您的Java类的名称是JavaClass,它位于你的src某处夹。转到resources.groovy并添加以下到您的豆...

beans = { 
... 
    javaClass(JavaClass) { 
     exampleService = ref('exampleService') 
    } 
} 

现在,你应该能够访问exampleService您的Java类中像一个普通的豆腐。

def exampleService 

虽然请记住,如果您使用的是像intellij这样的小bean图标,它可能不会出现在它旁边。这个是正常的。此外,不要忘记将JavaClass导入resources.groovy