Я пытаюсь обновить схему БД всякий раз, когда обновляется версия приложения. Некоторые люди сказали, что это плохая функция, но я хочу попробовать, использую я ее или нет.
Я успешно обновил схему при загрузке приложения.
но Мне нужно изменить время обновления схемы. и находится между после того, как объект Bean DI закончил и до работы @PostConstruct.
это невозможно, просто до работы @PostConstruct независимо от того, закончен DI или нет.
как я могу это сделать?
PS. Я знаю, что подобная функция работы пролетного пути сравнивается с тем, что я делаю. но я хочу сделать то же самое самостоятельно.
Когда bean-компонент Spring инициализируется, Spring гарантирует, что все свойства будут введены (посредством применения инъекции конструктора, инъекции установщика или инъекции поля)
Итак, сначала Spring вызывает конструктор bean-компонента
Затем (если поля еще не установлены) он пытается ввести поля
И только после этого вызывает @PostConstruct
Таким образом, у вас должна быть возможность получить доступ к базе данных из метода постконструирования компонента.
Я бы использовал Ликвибаза, взгляни на этот отвечать