мне нужно сделать некоторую миграцию данных, что слишком сложно, чтобы сделать это в лицевой части. Мы используем Spring < /p>
Вот почему я написал класс, реализующий класс liquibase.change.custom.customtaskchange < /strong>. Затем я ссылаюсь на это из -за изменения изменения. < /P>
Все в порядке до этой точки. < /P>
Мой вопрос:
Можно ли получить доступ к другим пружинным бобам изнутри такого класса? Бин в этом классе, он нулевой, что заставляет меня думать, что автопроизводство просто не сделано в этот момент? Ликибазный фасоль должен быть инициализирован перед всеми другими бобами, это правильно? >@Component
public class UpdateJob2 implements CustomTaskChange {
private String param1;
@Autowired
private SomeBean someBean;
@Override
public void execute(Database database) throws CustomChangeException {
try {
List titleTypes = someBean.getSomeObjects(
param1
);
} catch (Exception e) {
throw new CustomChangeException();
}
...
< /code>
Я получаю исключение, и при отладке я вижу, что Somebean null. < /p>
Вот конфигурация для Springliquibase: < /p>
@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
@ComponentScan({
"xxx.xxx.."})
public class DatabaseConfiguration {
@Bean
public SpringLiquibase springLiquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setDataSource(dataSource());
liquibase.setChangeLog("classpath:liquibase-changelog.xml");
return liquibase;
}
...
< /code>
немного конфигурации: < /p>
< /code>
И здесь вызов из изменений: < /p>
< /code>
< /p>
Подробнее здесь: https://stackoverflow.com/questions/328 ... ange-class