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.RC1Spring 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