Я новичок в Spring и не уверен, есть ли простой подход к тому, что я пытаюсь сделать.Прежде чем перенести существующую кодовую базу в Spring, я вручную загружал свойства конфигурации в одноэлементный класс с именем ConfigurationProvider
- довольно просто.
Теперь, когда я перешел на Spring Cloud Config, я пытаюсь определить,прагматичный подход к объекту глобальной конфигурации с минимальной ручной настройкой.Моя текущая реализация - класс, который не так однозначен, который почти выполняет то, что я рассчитываю сделать, но идет с недостатком дизайна.
@Configuration
public class ConfigurationProvider {
private static ConfigurationProvider _instance;
@Autowired
private StorageConfiguration storage;
// this being the design flaw
public ConfigurationProvider() {
_instance = this;
}
public static ConfigurationProvider getInstance() {
return _instance;
}
...
}
Я подумал об исключении, если ConfigurationProvider::_instance
уже инициализирован, но этопросто приклеить запах существующего кода.Со всеми прибамбасами Spring Boot, я думаю, есть более чистый подход, использующий одну из сотен аннотаций, связанных с этой структурой.