Spring: @Value, component-scan e PropertyPlaceholder
Da quando ho iniziato ad usare Spring 3 e a configurare i bean con component-scan e le annotazioni @Component, @Service, ecc, il primo problema che mi sono trovato a dover risolvere è capire come si fa ad impostare il valore di una property di tipo semplice (String, tipi primitivi, ecc) quando il suo valore è specificato in una property che viene risolta dal PropertyPlaceholder.
La risposta è molto più semplice di quanto si possa pensare: è sufficiente annotare la proprietà del bean con @Value e specificare il nome della property che si trova nel file di property gestito dal PropertyPlaceholder usando questa sintassi:
@Value("${propertyName}")
private String myProperty;
Se vuoi puoi scaricare un progettino maven con un test per mostrare questa funzionalità.