2015-02-04 4 views
0

Я создал таблицы для перечислений в БД и прикладную ссылочную целостность с основными таблицами. Но мне нужно проверить значения enum на значения DB при запуске приложения весной.Как проверить значения enum на значения DB в весенней загрузке при запуске приложения

ответ

0

Spring предлагает интерфейс Lifecycle, который вы можете реализовать, и контейнер уведомит вас об этом после его начала. Затем вы можете запросить свой db для выполнения любых проверок, которые вам нужны. Из документации:

Любой объект, управляемый Spring, может реализовать этот интерфейс. Затем, когда сам ApplicationContext запускается и останавливается, он будет каскадировать эти вызовы для всех реализаций Lifecycle, определенных в этом контексте. Она делает это путем делегирования в LifecycleProcessor:

0

Для весеннего ботинка, в частности, я считаю, самое простое решение, чтобы быть в SpringApplicationRunListener

Если класс не добавляется автоматически при @ComponentScan, вы должны реализовать ваш слушатель и зарегистрируйте его в файле spring.factories.

org.springframework.boot.SpringApplicationRunListener=xxx.MyListener 

Он определяет очень четкие крючки для жизненного цикла пружинной загрузки. Внимание: хотя это только интерфейс, исполнительный класс должен предоставить специальный конструктор:

public MyListener(SpringApplication application, String[] args) {}