我正在尝试 将 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
) 始终为 null 。
有人可以帮忙吗?
原文由 balteo 发布,翻译遵循 CC BY-SA 4.0 许可协议
在无状态 bean 上注入依赖项的一种技巧是将依赖项定义为“静态”,创建一个 setter 方法,以便 Spring 可以注入依赖项(将其分配给静态依赖项)。
将依赖项声明为静态的。
创建一个方法,以便 Spring 可以注入它。
更多详细信息,请访问:http: //blog-en.lineofsightnet.com/2012/08/dependency-injection-on-stateless-beans.html