Spring ApplicationListener Neo4j BeforeSaveEvent 不适用于 Spring 4.2.0.RELEASE
Spring ApplicationListener Neo4j BeforeSaveEvent doesn't work with Spring 4.2.0.RELEASE
在我使用 Neo4jConfig 的 Neo4j/Spring 启动应用程序中,我有以下钩子:
@Bean
protected ApplicationListener<BeforeSaveEvent<BaseEntity>> beforeSaveEventApplicationListener() {
return new ApplicationListener<BeforeSaveEvent<BaseEntity>>() {
@Override
public void onApplicationEvent(BeforeSaveEvent<BaseEntity> event) {
BaseEntity entity = event.getEntity();
if (entity.getCreateDate() == null) {
entity.setCreateDate(new Date());
} else {
entity.setUpdateDate(new Date());
}
}
};
}
它与以前版本的 Spring - 4.1.7.RELEASE
完美兼容,但不适用于最新版本 4.2.0.RELEASE
我用
SDN 3.4.0.RC1
和 Spring Boot 1.2.5.RELEASE
可能是什么原因?
使用 Spring Framework 4.2+ 我问题中的方法必须如下所示:
@EventListener
public void handleBeforeSaveEvent(BeforeSaveEvent<BaseEntity> event) {
BaseEntity entity = event.getEntity();
if (entity.getCreateDate() == null) {
entity.setCreateDate(new Date());
} else {
entity.setUpdateDate(new Date());
}
}
此处有更多详细信息:https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2
在我使用 Neo4jConfig 的 Neo4j/Spring 启动应用程序中,我有以下钩子:
@Bean
protected ApplicationListener<BeforeSaveEvent<BaseEntity>> beforeSaveEventApplicationListener() {
return new ApplicationListener<BeforeSaveEvent<BaseEntity>>() {
@Override
public void onApplicationEvent(BeforeSaveEvent<BaseEntity> event) {
BaseEntity entity = event.getEntity();
if (entity.getCreateDate() == null) {
entity.setCreateDate(new Date());
} else {
entity.setUpdateDate(new Date());
}
}
};
}
它与以前版本的 Spring - 4.1.7.RELEASE
完美兼容,但不适用于最新版本 4.2.0.RELEASE
我用
SDN 3.4.0.RC1
和 Spring Boot 1.2.5.RELEASE
可能是什么原因?
使用 Spring Framework 4.2+ 我问题中的方法必须如下所示:
@EventListener
public void handleBeforeSaveEvent(BeforeSaveEvent<BaseEntity> event) {
BaseEntity entity = event.getEntity();
if (entity.getCreateDate() == null) {
entity.setCreateDate(new Date());
} else {
entity.setUpdateDate(new Date());
}
}
此处有更多详细信息:https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2