我想在src/groovy
下的groovy类中访问grailsApplication
,但我得到一个空指针异常。我也尝试将服务注入相同的类和相同的结果。我如何访问grailsApplication
或groovy课程的服务? (我正在使用Grails 1.3.7)在groovy类中访问grailsApplication或Service
回答
根据src/groovy
,依赖注入不适用于groovy类。你可以访问使用ApplicationHolder
这样grailsApplication
:
import org.codehaus.groovy.grails.commons.ApplicationHolder
def grailsApplication = ApplicationHolder.application
您可以访问所有类似的服务:
def allServicesArtefacts = grailsApplication.services
这工作就像一个魅力!非常感谢 ! –
对于Grails 1.3.7,这是一个完美的解决方案。但对于Grails v2 +,您应该使用Tobias Kraft的解决方案。 – Archer
的ApplicationHolder类是在新的Grails的版本(2.0及以上),不推荐使用。
还有另外一种方法,这是在伯氏的相关博客文章的一个描述:http://burtbeckwith.com/blog/?p=1017
如果您有想要与SRC /常规或SRC/java或甚至第三方罐子你依赖注入参加班必须做的是在grails-app/conf/spring/resources.groovy中配置它们。
如果你有在你的src /常规目录类mypackage.MyClass是这个样子:
package mypackage
class MyClass{
def grailsApplication
def myMethod(){
//uses grailsApplication
}
}
然后通过添加以下内容的grails-app/conf目录/春/ resoruces.groovy它会得到自动注射:
myClass(mypackage.MyClass){bean->
bean.autowire = "byName"
}
这将Grails中的任何版本thusfar,就像我说的,你甚至可以使用第三方jar文件 - 例如我永远在我resources.groovy如下:
jdbcTemplate(org.springframework.jdbc.core.JdbcTemplate){
dataSource = ref('dataSource')
}
了解更全面的春/ Grails的文档,请参见:
Grails的2.0之后,你应该使用:
def grailsApplication = Holders.grailsApplication
- 1. grailsApplication null in Service
- 2. 从插件访问'grailsApplication'
- 3. 如何访问Mixin中的GrailsApplication?
- 4. Groovy访问字段类型
- 5. 在resources.xml或其他xml中引用grailsApplication
- 6. Groovy中的Utility类的访问方法
- 7. 访问Groovy属性或方法
- 8. 如何从groovy类访问grailsApplication.config?
- 9. 可以在javassist中访问Groovy脚本中声明的类吗?
- 10. TestNG中的类的访问实例在groovy中运行
- 11. 在groovy中拦截LOCAL属性访问
- 12. GrailsApplication的src /班
- 13. 如何访问Groovy中的类中声明的脚本字段?
- 14. IllegalAccessException试图访问StringHashMap - Groovy
- 15. 从src/groovy访问服务
- 16. groovy hibernate createSQLQuery访问ResultSetMetaData?
- 17. didSelectRowAtIndexPath - 访问tapCount或类似
- 18. Groovy脚本定义的类中的绑定变量访问
- 19. 如何访问Groovy中的Java原型int类型?
- 20. Groovy中用于超类的字段访问
- 21. Grails的 - 以访问bean在普通的Groovy类
- 22. 访问GSP中的Groovy文件
- 23. 称为超类方法的Groovy类,用于访问关闭
- 24. Groovy中的多文件访问(Groovy on Grails)
- 25. Groovy变量不能在eclipse中的同一个项目的Java类中访问
- 26. 从Android SDK访问Amazon Web Service的DynamonDB
- 27. 无法访问jarfile windows-service-wrapper - *。jar
- 28. 是groovy弱类型或强类型?
- 29. Groovy类路径问题
- 30. Groovy类加载器问题
在Groovy [Grails的2.x的服务注入的可能重复/ src](http://stackoverflow.com/questions/10640480/grails-2-x-service-injection-in-groovy-src) – ataylor