2

在resources.groovy 中,我试图定义一个名为“sql”的bean,它是一个使用应用程序定义的dataSource 构造的groovy.sql.Sql。

sql(groovy.sql.Sql, 'firstArgument', ref('dataSource') ) {}

不幸的是,这失败了——

执行脚本控制台出错:org.springframework.beans.factory.BeanCreationException:创建名称为“sql”的 bean 时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)。

我查看了http://grails.org/doc/1.3.x/guide/14.%20Grails%20and%20Spring但没有关于用于指定参数以避免类型歧义的合法语法的更多信息,超出了使用的示例“第一个论点”。

我尝试传递“dataSource”和“javax.sql.DataSource”而不是“firstArgument”,都没有加引号和双引号,但没有成功。

4

1 回答 1

0

grails 文档中给出的示例会误导您。他们正在构造一个带有两个参数的类的实例;第一个是字符串,第二个是 int。你会想要这样的东西:

sql(groovy.sql.Sql, ref('dataSource') ) {}
于 2012-05-29T20:02:29.817 回答