【发布时间】:2011-08-04 15:20:38
【问题描述】:
我有一个 groovy 类,我想在其中自动装配一个属性值。
例如:
public @Value("${valueA}" ) String valueA;
在我的应用程序上下文中添加属性占位符
<context:property-placeholder location="classpath:spring/app.properties" />
app.properties 为“valueA”设置了一个值,因此理论上这应该在运行时填充我的类中的字符串 valueA。
如果我使用 java 类,但如果我使用 groovy 类,则此设置非常有效。
我得到一个编译错误:
错误:预期 '$valueA' 是 @org.springframework.beans.factory.annotation.Value 中 java.lang.String 类型的内联常量
错误:属性“值”应具有类型“java.lang.String”;但在@org.springframework.beans.factory.annotation.Value 中找到了类型'java.lang.Object'
我只想知道在使用 groovy 类时上述语法是否正确,如果不正确,在运行时自动装配 @Value 参数的正确语法是什么。
【问题讨论】:
-
感谢您提出这个问题。这让我有点发疯,但下面的答案可以解决问题。
标签: spring groovy annotations properties