Аннотация @Value
в Spring полезна для присвоения свойству значения, отличного от константы, с использованием языка выражений Spring. Например, значение, считанное из файла свойств. Если бы все, что он делал, это присвоение константы, вы могли бы также использовать private String foo = "bar";
.
Таким образом, вы можете использовать его для получения нужного значения из какого-либо файла конфигурации или системного свойства.
Если вы хотите применить какой-либо алгоритм преобразования к полю, я не вижу смысла в использовании аннотации. Просто вызовите метод Java:
@Value("foo") // or some EL expression which evaluates to "foo"
public void setBar(String value) {
this.bar = someStringTransformer.transform(value);
}
Кажется, что это легко читать, тестировать и поддерживать.