1、在spring3.1.0发布版本上是否支持Hibernate 4.X版本的EventListener呢?
在spring3.1.0版本,针对hibernate3 通过查看LocalSessionFactroyBean的源码可以知道,有一个eventListenser的属性来设置EventListeners。但是在hibernate4中,查看LocalSessionFactroyBean源码去不支持EventListener。由于spring3.X 对hibernate4不支持这样的配置。我还是按配置hibernate3一样的方法配置hibernate4导致我浪费了一个上午的时间。hibernate4 改变了注册EventListener的方式。
2、hibernate4 注册eventListener的方式
1、通过注解方式(测试通过)
@Component
public class HibernateEventWiring {
@Autowired
private SessionFactory sessionFactory;
@Autowired
private LogListener logListener;
@PostConstruct
public void registerListeners() {
EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory).getServiceRegistry().getService(
EventListenerRegistry.class);
registry.getEventListenerGroup(EventType.POST_INSERT).appendListener(logListener);
registry.getEventListenerGroup(EventType.POST_UPDATE).appendListener(logListener);
registry.getEventListenerGroup(EventType.POST_DELETE).appendListener(logListener);
}
}
2、通过注解方式(未测试)
参考hibernate4 官方开发文档
http://docs.jboss.org/hibernate/orm/4.1/devguide/en-US/html_single/#registering-listeners-example
相关推荐
Hibernate提供了一些预定义的事件,比如`PreInsertEvent`、`PreUpdateEvent`等,我们可以通过实现`EventListener`接口并注册到SessionFactory来监听这些事件。当特定事件触发时,我们的监听器会接收到事件对象,从中...
3. **数据访问集成**:Spring支持多种数据访问技术,如JDBC、ORM(Hibernate、MyBatis等)和OXM(Object-XML Mapping)。在`org.springframework.jdbc`和`org.springframework.orm`中,我们可以看到Spring如何提供...
4. **数据访问集成**:Spring提供了对各种数据库的支持,包括JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis。在`org.springframework.jdbc`和`org.springframework.orm`包中,可以探索Spring如何...
10. **Spring的事件机制**:Spring的ApplicationEvent和EventListener可以用于实现组件间的通信,理解这一机制并学会如何在实际项目中应用,能提升应用的响应能力和模块化程度。 以上是根据标题和描述推测的Spring ...
3. **数据访问**: 支持 JDBC、Hibernate、JPA 等多种数据访问技术。 4. **测试**: 提供了强大的支持工具,便于单元测试和集成测试。 5. **微服务架构**: 可以用于构建微服务架构中的服务发现、配置管理等功能。 ###...
- Spring支持多种数据访问技术,如JDBC、Hibernate、MyBatis等。源码中,`JdbcTemplate`、`HibernateTemplate`等提供了一致的数据库操作API,降低了数据访问的复杂性。 6. **Spring Boot** - Spring Boot简化了...
- Spring支持JDBC、ORM(Hibernate、MyBatis等)框架的集成,源码中可看到Spring如何封装数据库操作,提供统一的事务管理。 10. **Spring MVC** - Spring MVC是Spring提供的Web层解决方案,包括`...
5. JSF+Spring+Hibernate整合时的异常,如`Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener`,这通常意味着在应用初始化阶段,...
案例中出现了一个典型的失败场景,主要表现为控制台显示的错误信息:“Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener”。...
5. **监听器(Listener)**: 可以自定义监听器来实现特定的行为,如日志记录、通知发送等,这些监听器会在流程运行的特定时刻被调用。 6. **API 使用**: Snaker 提供丰富的 Java API 供开发者在代码中控制流程,如...
Exceptions sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating...
7. **事件监听(Event Handling)**:Spring提供了一个事件模型,允许应用程序组件之间进行异步通信,通过ApplicationEvent和ApplicationListener接口实现。 8. **数据访问集成**:Spring支持多种数据访问技术,...
4. 通过源码分析,解释相关工具或框架如何支持推模式,如Spring的ApplicationEvent和EventListener。 5. 在Web应用中,如何通过Ajax或其他前端技术与后端推模式结合,实现用户界面的实时更新。 6. 实际项目中的最佳...
命令模式是一种行为设计模式,允许将请求封装成对象,从而使用不同的请求、队列或者日志请求来参数化其他对象,也可以支持可撤销的操作。 命令模式的核心是命令对象(Command),它包含执行特定操作所需的信息。在...
学习Servlet容器、Servlet生命周期、部署方式,以及Filter和EventListener的使用。JSP部分包括表达式、脚本片段和声明的使用,以及JSP内置对象的访问。处理用户输入时,了解HTTP的GET和POST方法以及表单数据的读取。...