Смысл в том, чтобы сделать это наоборот - т.е. использовать системные свойства пружины, а не пружинные свойства в системе.
С PropertyPlaceholderConfigurer
вы получаете свои свойства + системные свойства, доступные через${property.key}
синтаксис.Весной 3.0 вы можете внедрить их, используя аннотацию @Value
.
Идея состоит не в том, чтобы полагаться на вызовы System.getProperty(..)
, а вместо этого вводить значения ваших свойств.Итак:
@Value("${foo.property}")
private String foo;
public void someMethod {
String path = getPath(foo);
//.. etc
}
вместо
public void someMethod {
String path = getPath(System.getProperty("your.property"));
//.. etc
}
Представьте, что вы хотите провести модульное тестирование своего класса - вам придется предварительно заполнить объект System
свойствами.При использовании пружины вам просто нужно установить несколько полей объекта.