Используйте Spring bean внутри enum - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь внедрить Spring bean в enum и использовать методы bean.Я нашел что-то похожее здесь в переполнении стека, но значение объекта равно нулю.

Эта часть кода

System.out.println("# Post constructor ")

никогда не выполняется.

Где проблема?

enum EnumDependencyInjection {

ENUM_DI {

    @Override
    void writeLog(String itemName) {

        logService_enum.methodFromLogServiceBean();

    }

};

abstract void writeLog(String itemName);


@Component
public static class ServiceInjector {

    @Autowired
    private ILogService logService;

    @PostConstruct
    public void postConstruct() {

      for (EnumDependencyInjection enumDI : EnumSet.allOf(EnumDependencyInjection.class)) {

        System.out.println("# Post constructor ");

        enumDI.setLogService(logService);

      }


    }

}

private static ILogService logService_enum;

void setLogService(ILogService logService) {
    logService_enum = logService;
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...