将Spring依赖项注入JPA EntityListener

我试图将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);

}

}

这是我的Entity类:

@RooJavaBean

@RooToString

@RooJpaActiveRecord

@EntityListeners(PliListener.class)

public class Pli implements Serializable{

...

但是,我的依赖项(即evenementPliRepository)始终为null。

回答:

注入对无状态bean的依赖关系的一种方法是将依赖关系定义为“静态”,创建一个setter方法,以便Spring可以注入依赖关系(将其分配给静态依赖关系)。

将依赖项声明为静态。

static private EvenementPliRepository evenementPliRepository;

创建一个方法,以便Spring可以注入它。

@Autowired

public void init(EvenementPliRepository evenementPliRepository)

{

MyListenerClass.evenementPliRepository = evenementPliRepository;

logger.info("Initializing with dependency ["+ evenementPliRepository +"]");

}

以上是 将Spring依赖项注入JPA EntityListener 的全部内容, 来源链接: utcz.com/qa/426507.html

回到顶部