Использование службы в среде Spring Boot EnvironmentPostProcessorJAVA

Программисты JAVA общаются здесь
Anonymous
Использование службы в среде Spring Boot EnvironmentPostProcessor

Сообщение Anonymous »

У меня есть класс, который реализует EnvironmentPostProcessor для определения некоторых свойств из ini-файла. У меня также есть отложенный журнал для записи журналов в постобработке. Я также хочу написать собственный файл дампа, если при работе постпроцессора возникнут какие-то ошибки. Для этого у меня есть служба дампов. Но служба дампа не создается во время работы постпроцессора, поскольку она находится на ранней стадии жизненного цикла. Поэтому я думаю, что лучше избегать внедрения зависимостей Spring для этого сервиса.

Код: Выделить всё

public class IniFileEnvironmentPostProcessor implements EnvironmentPostProcessor {

private final Log log;
private ApplicationContext applicationContext;

private final DumpService dumpService;

public IniFileEnvironmentPostProcessor(DeferredLogFactory logFactory, DumpService dumpService) {
log = logFactory.getLog(IniFileEnvironmentPostProcessor.class);
this.dumpService = dumpService;
}

@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {...}
}
Использование прямого создания экземпляров работает, но при этом создается не Spring Bean, а простой Java-объект:

Код: Выделить всё

public IniFileEnvironmentPostProcessor(DeferredLogFactory logFactory) {
log = logFactory.getLog(IniFileEnvironmentPostProcessor.class);
this.dumpService = new DumpService();
}
Я не думаю, что это хорошее решение. Как это можно сделать правильно, чтобы в постпроцессоре была служба дампа?

Подробнее здесь: https://stackoverflow.com/questions/790 ... tprocessor

Вернуться в «JAVA»