mvc - spring framework pdf español
Spring 3.0.5 no evalúa la anotación @Value de las propiedades (1)
Encontré cuál era el problema. Copiar / pegar de los comentarios:
¿Está seguro de que tiene <context:property-placeholder> en el mismo contexto de aplicación que su bean MyClass (no en el contexto principal)? - Axtavt
Tienes razón. ContextLoaderListener <context:property-placeholder> del contexto definido por ContextLoaderListener al contexto de servlet. Ahora mis valores son analizados. ¡Muchas gracias! - alex
Tratando de auto-cablear propiedades a un bean en Spring 3.0.5.RELEASE , estoy usando:
config.properties:username=myusernamemain-components.xml:<context:property-placeholder location="classpath:config.properties" />Mi clase:
@Service public class MyClass { @Value("${username}") private String username; ... }
Como resultado, el nombre de usuario se establece literalmente en "${username}" , por lo que la expresión no se analiza. Mis otras dependencias de cableado automático en esta clase se configuran, y Spring no lanza ninguna excepción. También intenté agregar @Autowired pero no ayudó.
Si analizo las propiedades a un bean separado y luego uso @Autowired + @Qualifier , funciona:
<bean id="username" class="java.lang.String">
<constructor-arg value="${username}"/>
</bean>
¿Alguna idea de cómo usar solo @Value ? Tal vez necesito incluir alguna dependencia de Spring que no tengo? Gracias