working tag propertysourcesplaceholderconfigurer propertysource not example application spring groovy annotations properties

tag - application.properties spring boot example



Usando @Value Spring Annotation con Groovy (2)

Use comillas simples, es decir.

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

Tengo una clase maravillosa en la que quiero conectar automáticamente el valor de una propiedad.

P.ej:

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

Con la adición de la propiedad-marcador de posición en mi contexto de aplicación

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

App.properties tiene un valor establecido para "valueA", por lo que en teoría debería rellenar el valor de Cadena A en mi clase en tiempo de ejecución.

Esta configuración funciona perfectamente si uso una clase Java pero no si uso una clase groovy.

Me sale un error de compilación:

Error: ''$ valueA'' esperado para ser una constante en línea de tipo java.lang.String en @ org.springframework.beans.factory.annotation.Value
Error: el atributo ''valor'' debe tener el tipo ''java.lang.String''; pero encontró el tipo ''java.lang.Object'' en @ org.springframework.beans.factory.annotation.Value

Solo quiero saber si la sintaxis anterior es correcta cuando se usa una clase groovy y, de no ser así, cuál es la sintaxis correcta para el autoenvío del parámetro @Value en el tiempo de ejecución.


ya que al usar $ hace que Groovy interprete el argumento de anotación como un GString, se obtiene un error de compilación. puede escapar / $ o usar comillas simples.