Я недавно начал работать над ПЛОХО разработан и создан веб-приложения .. Я нахожу, что он использует около 300 файлов свойств, и все файлы свойств в настоящее время несколько читается как это:Java WebApplication - свойства файла кошмар
Properties prop= new Properties();
FileInputStream fisSubsSysten = new FileInputStream("whatever.properties");
prop.load(fisSubsSysten);
То есть, он считывает файлы свойств из текущего рабочего каталога. Еще одна проблема заключается в том, что разработчики решили использовать вышеуказанные строки несколько раз в одном и том же файле java. Например, если существует 10 методов, каждый метод будет иметь вышеуказанный код вместо одного метода и вызывать его там, где это необходимо.
Это означает, что мы НИКОГДА не можем изменить местоположение файлов свойств, в настоящее время они находятся под каталог профилей websphere, не является ли это уродливым? Если я перемещаю их где-то еще и устанавливаю это местоположение в classpath, это не сработает.
Я попытался изменить эти строки, как это с помощью Spring IO Utils библиотеки:
Resource resource = new ClassPathResource("whatever.properties");
Properties prop = PropertiesLoaderUtils.loadProperties(resource);
Но это приложение имеет более 1000 файлов, и я нахожу, что невозможно изменить каждый файл .. Как бы вы о рефакторинг этого беспорядка? Есть ли простой способ?
Спасибо!
Во-первых, мои искренние соболезнования. если бы был какой-то худший конкурс кошмаров для программистов, безусловно, ваша проблема будет указана в топ-10, может быть, на 5-й. Действительно, это выглядит как шутка. Ну, на вашем месте, может быть, вы могли бы использовать любой другой загрузчик файлов свойств (например, http://commons.apache.org/proper/commons-configuration/), а затем вы могли бы попытаться заменить все. Вам нужно будет проверить наличие именования, вероятно, придется использовать файл свойств в качестве нового префикса имени свойств и т. Д. Это может быть как ад. Но если переместить файлы, это важно, я бы сделал это. – Leo