繁体   English   中英

在Groovy中使用@Value Spring Annotation

[英]Using @Value Spring Annotation with Groovy

我有一个groovy课程,我想在一个属性值自动装配。

例如:

public @Value("${valueA}" ) String valueA;

在我的应用程序上下文中添加了property-placeholder

<context:property-placeholder location="classpath:spring/app.properties" />

app.properties具有为“valueA”设置的值,因此理论上这应该在运行时填充我的类中的String valueA。

如果我使用java类,这个设置工作正常,但如果我使用groovy类则不行。

我收到编译错误:

错误:预期'$ valueA'是@ org.springframework.beans.factory.annotation.Value中java.lang.String类型的内联常量
错误:属性'value'的类型应为'java.lang.String'; 但在@ org.springframework.beans.factory.annotation.Value中找到了'java.lang.Object'类型

我只是想知道在使用groovy类时上述语法是否正确,如果不是,那么在运行时自动装配@Value参数的正确语法是什么。

使用单引号,即。

public @Value('${valueA}') String valueA

因为使用$导致Groovy将注释参数解释为GString,所以会出现编译错误。 你可以逃脱\\ $或使用单引号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM