Мне нужно обратиться за помощью по следующей проблеме. Я читаю некоторые свойства из файла свойств и присваиваю измененные/окончательные значения другим переменным. Мне приходится сталкиваться с трудностями при изменении статического блока {} на обычный блок или в конструкторе.Статический блок не работает с @Value весной
Я хочу, чтобы все эти переменные получили значение назначения из файла .properties во время загрузки/развертывания веб-приложения. Любая помощь ?
private static String username;
private static String password;
private static String dbURL;
private static String dbPort;
private static String filePath;
private static File localFile;
private static File remoteFile;
@Value("${local.file.name}")
private String localFileName;
@Value("${remote.file.name"})
private String remoteFileName;
static {
File finalFilePath = new File(filePath);
if (!finalFilePath.exists() && !finalFilePath.isDirectory()) {
finalFilePath.mkdirs();
}
localFile = new File(StringBuffer(finalFilePath).append("/").append("localFileName").toString());
remoteFile = new File(StringBuffer(finalFilePath).append("/").append("remoteFileName").toString());
}
в каком классе эти свойства (весна-управляемый компонент ?, компонент, обслуживание, Repository, конфигурации)? это работает? (тест путем отладки какой-либо инструкции в аннотированном методе PostConstruct) – cproinger
Пожалуйста, не используйте StringBuffer, поскольку он был заменен StringBuilder более десяти лет назад. В этом случае использование '+' было бы более эффективным и понятным для чтения. –