spring - Grails 2.0 注入(inject) bean 并在 Controller 中出现 ClassCastException 错误

标签 spring grails

我有以下 bean 注入(inject)所有 Controller

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)

最佳答案

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

import my.DatabaseRepo

class MyController {

   DatabaseRepo db

   index() {
   }
}

关于spring - Grails 2.0 注入(inject) bean 并在 Controller 中出现 ClassCastException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6966603/

相关文章:

grails - Grails:插件[controllers:3.3.9]无法将更改重新加载到文件

java - Spring 将自定义 bean Autowiring 到它自己的类中

spring - 如何使用 springframework CrudRepository 为每个保存操作动态设置 Couchbase 文档的 TTL?

java - 让 Spring MVC 与 JodaModule 一起工作

grails - Grails 2.5-是否可以基于Accept header 或format参数(针对同一 Controller )调用不同的 Action ?

grails - GSP-为选择标记选项设置整数值

java.lang.ClassNotFoundException : org. aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException 异常

spring - 为 JPA 可分页对象设置默认页面大小

hibernate - 使用InnoDB作为数据源在Grails域中指定索引前缀长度

grails - 如何在 ListView 的列内调用taglib方法?