我的服务上有 2 个简单的字符串属性:
class MyService {
static transactional = false
def uri1
def uri2
}
资源.groovy:
beans = {
myService(com.myapp.MyService) {
uri1 = 'http://my.endpoint1.com'
uri2 = 'http://my.endpoint2.com'
}
}
并且...这两个属性都保持为空。看起来足够简单和明显,但没什么可继续的,我似乎明确遵循文档和我发现的一些帖子..有什么想法吗?谢谢。
我尝试将属性输入为 String、def、static String.. 没有任何帮助。 我尝试过在属性闭包和 bean.str1 等中使用 bean -> ...没有任何帮助。
更新: 目标只是通过 Spring 在 Service 类上设置这些字符串属性。是的,使用 Config.groovy 是一个选项,但这需要额外的步骤来访问配置..我发现在这种情况下这是一个不必要的障碍。毕竟Spring都在用,何乐而不为呢。就我而言,它们恰好是 URI(更新的示例代码)。
参见:http://grails.org/doc/1.0.x/guide/14.%20Grails%20and%20Spring.html例如,14.3。
其中 driverClassName = "org.hsqldb.jdbcDriver"
在数据源注册上设置。我尝试向 Service 类添加 java 风格的 setter 和 getter,仍然为 null
最佳答案
你不会发疯的,这应该完全按照你的想法工作。
我准备了一个示例项目来在 github 上确认这一点:
https://github.com/gid79/so-q8548146-spring-dsl
我用grails 1.3.4准备了示例,这恰好是我本地安装的版本,已经有一段时间没有使用它了。
您可能在所使用的版本中偶然发现了一个错误,您引用的是 1.0.x 文档,您使用的是哪个版本?
关于spring - Grails Spring DSL 未设置字符串属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548146/