Ответ 1
Я думаю, что вы за этим:
@Component
public class MyBean {
private String xmlFile;
private String xsdFile;
@Autowired
public MyBean(@Value("$MYDIR/myfile.xml") final String xmlFile,
@Value("$MYDIR/myfile.xsd") final String xsdFile) {
this.xmlFile = xmlFile;
this.xsdFile = xsdFile;
}
//methods
}
Вы также можете захотеть, чтобы эти файлы настраивались с помощью свойств системы. Вы можете использовать аннотацию @Value
для чтения системных свойств с помощью синтаксиса PropertyPlaceholderConfigurer
и ${}
.
Чтобы сделать это, вы можете использовать разные значения String
в аннотации @Value
:
@Value("${my.xml.file.property}")
@Value("${my.xsd.file.property}")
но вам также понадобятся эти свойства в ваших системных свойствах:
my.xml.file.property=$MYDIR/myfile.xml
my.xsd.file.property=$MYDIR/myfile.xsd