【问题标题】:How to use Grails dataSource in resources.groovy?如何在 resources.groovy 中使用 Grails 数据源?
【发布时间】:2010-02-08 14:26:22
【问题描述】:

我在我的 Grails 项目中使用了一个外部 Java 库。它需要通过 Spring 配置的 DataSource。但是,似乎无法从 resources.groovy 访问数据源。我如何访问它?我在 resources.groovy 中使用以下内容:

beans = {
 eventDao(com.JavaClassRequiringDataSource) {
  //dataSource = ref(dataSource, true)
  dataSource = dataSource
 }
}

运行应用程序会导致异常:

org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingPropertyException: 没有这样的属性:dataSource for 类:grails.spring.BeanBuilder

有什么想法吗?

【问题讨论】:

    标签: spring configuration grails


    【解决方案1】:

    根据http://www.grails.org/Spring+Bean+Builder,您的方法应该是正确的。我刚刚做了一些谷歌搜索,发现应该这样做(未经测试):

    豆子= { eventDao(com.JavaClassRequiringDataSource) { dataSource = ref('dataSource', true) } }

    所以你不是通过变量引用它,而是通过名称。 (来源:http://burtbeckwith.com/blog/?cat=23

    【讨论】:

    • 做到了!文档显示了这样的示例: anotherBean(AnotherBean) { example = ref("${beanName}Bean" } 其中 ${} 让您认为它们只是对变量名进行去别名。
    • 对于我正在接线的一些 bean,我发现最好只做ref('dataSource')。将第二个参数添加到 ref 会引发错误,即 Grails 在定义 bean dataSource 时无法设置 bean dataSource。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2013-03-27
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    相关资源
    最近更新 更多