【发布时间】:2012-08-22 17:55:31
【问题描述】:
我正在尝试将 Spring 依赖项 注入 JPA EntityListener。这是我的监听类:
@Configurable(autowire = Autowire.BY_TYPE, dependencyCheck = true)
public class PliListener {
@Autowired
private EvenementPliRepository evenementPliRepository;
@PostPersist
void onPostPersist(Pli pli) {
EvenementPli ev = new EvenementPli();
ev.setPli(pli);
ev.setDateCreation(new Date());
ev.setType(TypeEvenement.creation);
ev.setMessage("Création d'un pli");
System.out.println("evenementPliRepository: " + evenementPliRepository);
evenementPliRepository.save(ev);
}
}
这是我的实体类:
@RooJavaBean
@RooToString
@RooJpaActiveRecord
@EntityListeners(PliListener.class)
public class Pli implements Serializable{
...
但是,我的依赖项(即evenementPliRepository)始终为空。
有人可以帮忙吗?
【问题讨论】:
-
我也遇到了同样的问题,找到了解决办法,已经在另一个帖子stackoverflow.com/questions/22171221/…
-
对于任何感兴趣的人,我刚刚尝试了 Spring (5.1.9) Boot (2.1.8) 和 JPA Event Listener 集成,现在它工作得非常好,没有任何黑客或变通方法。我不确定这怎么可能,但也许它也与用于验证的解析器有关。
-
@AndrewTFinnell 我做构造函数注入,它会导致“应用程序上下文中某些 bean 的依赖关系形成一个循环”,我用其他方法不起作用。我很确定 spring boot(org.springframework.boot:spring-boot-starter-data-jpa:2.2.6.RELEASE) 和 hibernate(org.hibernate:hibernate-core:5.4.12.Final) 的版本版本
标签: spring jpa dependency-injection spring-roo entitylisteners