首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongock @BeforeExecution未执行

mongock @BeforeExecution未执行
EN

Stack Overflow用户
提问于 2022-07-12 09:07:12
回答 1查看 67关注 0票数 0

我需要从env变量初始化admin,但是@BeforeExecution方法没有启动,直接在initAdmin方法中开始执行。有什么建议吗?

代码语言:javascript
复制
@ChangeUnit(id = "init", order = "001", author = "me")
@RequiredArgsConstructor
@Component
public class InitChangeLog {

  private final MyService service;
  private final MongoTemplate template;
  private final ConfigurableEnvironment env;

  private String admin;

  @BeforeExecution
  private void setAdmin() {
    this.admin = env.getProperty("admin");
  }

  @Execution
  public void initAdmin() {
    service.create(...);
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-13 23:23:29

我可以看到多个错误,这可能是您的问题的原因:

  1. @组件不应用于changeUnit。Mongock检索changeUnits的方式是指定包或直接指定类。你可以在文档中看到它
  2. Mongock提供了在构造函数中和直接在方法中注入bean的两种方法。有关更多信息,请参见文档中的本节
  3. @BeforeExecution不应该是私密的。

试着纠正这些观点,我相信它会很好:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72949717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档