JUnit中的EntityListener上的J2EE依赖项注入

时间:2018-07-05 09:55:19

标签: java java-ee junit entitylisteners

我有一个实体,其中定义了EntityListerner。在enity侦听器类中,我使用依赖项注入来检索负责另一个逻辑类的值。运行单元测试时,实体侦听器的prepersist方法失败,因为无法解析注入的类。 我使用J2EE 8和JUnit5。

我的实体类的简短版本如下:

@Table(name = "intent")
@Entity
@EntityListeners(value = IntentEnityListener.class)
public class Intent extends AbstractEntity {
  private String fileNumber;

  @Column(name = "file_number", nullable = false, unique = true, length = 64)
  public String getFileNumber() {
     return fileNumber;
  }
}

EntityListener类看起来像

public class IntentEnityListener {

  @Inject
  private SettingRepository settingRepository;

  @PrePersist
  public void onPrePersist(@NotNull final Intent intent) {
     int nextSequencedNumber = settingRepository.getNextSequencedNumber();
     intent.setFileNumber(nextSequencedNumber);
  }
}

当我运行JUnit测试时,注入的属性settingRepository始终为null。因为这是一个实体生命周期回调,所以我不知道如何以正确的方式模拟它。 可以模拟生命周期回调类吗?

0 个答案:

没有答案