Grails 2.0注入bean并在Controller中获得ClassCastException错误

时间:2011-08-06 11:50:18

标签: spring grails

我有以下bean注入所有控制器

beans = {
   db(my.DatabaseRepo) { singleton true }
}

当我定义

class MyController {
   def db 
   index() {
   }
}

我收到以下错误

java.lang.ClassCastException: my.DatabaseRepo cannot be cast to groovy.lang.Closure
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:680)

1 个答案:

答案 0 :(得分:1)

这是http://jira.grails.org/browse/GRAILS-7800并且是固定的,因此这在M2中不会成为问题。作为临时解决方法,您可以导入bean的类并显式键入它,而不是使用'def':

import my.DatabaseRepo

class MyController {

   DatabaseRepo db

   index() {
   }
}