在resources.groovy中,我正在尝试定义一个名为"sql"的bean,它是使用应用程序定义的dataSource构造的groovy.sql.Sql。
sql(groovy.sql.Sql, 'firstArgument', ref('dataSource') ) {}
不幸的是,这失败了,如下所示——
执行脚本控制台时出错:org.springframework.beans.factory.BeanCreation异常:创建名为"sql"的 Bean 时出错:无法解析匹配的构造函数(提示:为简单参数指定索引/类型/名称参数以避免类型歧义)。
我查看了 http://grails.org/doc/1.3.x/guide/14.%20Grails%20and%20Spring 但没有关于指定参数的法律语法的进一步信息,以避免除了使用"firstArgument"的示例之外的类型歧义。
我尝试传递"dataSource"和"javax.sql.DataSource"而不是"firstArgument",两者都没有引号和双引号,但没有成功。
grails 文档中给出的示例会误导您。 它们正在构造一个具有两个参数的类的实例;第一个是字符串,第二个是整数。 你会想要这样的东西:
sql(groovy.sql.Sql, ref('dataSource') ) {}