1.spring
2.hibernate
3.quartz--定时调度工具,spring已经做了封装,也可以单独使用。
4.OpenSessionInViewFilter--web框架下的一个filter,能够让web request使用单一的hibernate session。
有的j2ee项目在web.xml文件中添加了OpenSessionInViewFilter,其目的是给web request提供单一的hibernate session,但是它也只能给web request提供hibernate session。也就是说,如果有某一个hibernate请求不是经由web request发起的,而是由quartz这样的定时任务发起的,那么quartz怎么样才能得到hibernate session呢?
解决办法就是使用HibernateInterceptor。当quartz发起hibernate session请求时,HibernateInterceptor会提供一个hibernate session给它。
配置文件如下:
xml 代码
<!-- Declaration of HibernateInterceptor -->
<bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- Manager template -->
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
<property name="preInterceptors">
<list>
<ref bean="hibernateInterceptor"/>
</list>
</property>
</bean>
<!-- Sample Manager that encapsulates business logic -->
<bean id="userManager" parent="txProxyTemplate">
<property name="target">
<bean class="com.acme.service.impl.UserManagerImpl" autowire="byName"/>
</property>
</bean>
其中,<!-- Declaration of HibernateInterceptor -->部分定义了HibernateInterceptor;
<!-- Manager template -->部分定义了模板,并且加入了HibernateInterceptor;
<!-- Sample Manager that encapsulates business logic -->部分定义业务逻辑中的bean,记住,一定让他使用模板。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/WiseDragon/archive/2008/11/19/3325809.aspx
分享到:
相关推荐
Spring MVC、Spring 和 Hibernate 是Java Web开发中的三大主流框架,它们各司其职,共同构建了一个强大而灵活的后端架构。Spring MVC 负责处理HTTP请求并将其路由到相应的控制器,Spring 提供了依赖注入(DI)和面向...
Spring、Hibernate和Struts2是Java Web开发中的三大框架,它们各自负责应用程序的不同层面,而将这三者整合使用,可以构建出强大的企业级Web应用。Spring作为一个全面的轻量级容器,负责管理对象(包括服务层和DAO层...
- **拦截器(Interceptor)**:类似于AOP的切面,Struts2通过拦截器链来处理请求,可以添加自定义的拦截逻辑,如权限验证、日志记录等。 - **结果映射(Result Mapping)**:定义了Action执行后跳转到的页面或资源...
在这个"毕业设计struts+hibernate+spring添删改查示例源码"中,我们可以期待看到如何将这三个框架结合使用,完成对数据的添加(Add)、删除(Delete)、修改(Update)和查询(Query)操作。通常,这会涉及以下步骤...
- 引入Spring RPC和Quartz进行远程调用和任务调度。 - 集成Java Mail进行邮件发送。 - DAO层集成多种框架,增强查询能力。 - 创建基础架构(脚手架),方便日后项目复用。 这个项目集成了上述技术,旨在建立一...
Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,并通过整合可以构建出高效、可维护的大型企业级应用。在本项目"Struts2_Hibernate_Spring"中,我们将深入探讨这三个框架...
SSH框架,全称为Spring、Struts2和Hibernate,是Java Web开发中的一种经典组合,用于构建企业级应用程序。这三个框架分别在不同的层面上提供服务,共同构建了一个强大的、灵活的后端架构。 **Spring框架**:Spring...
5. **集成其他框架**:Spring可以很好地与其他框架集成,例如Hibernate、MyBatis、Quartz等。 **Struts2框架**: Struts2是基于MVC模式的Web应用框架,它是Struts1的下一代产品。Struts2的主要特点包括: 1. **...
Spring MVC提供了一个强大的MVC框架,而Hibernate是一个优秀的ORM(对象关系映射)工具。将两者整合,可以构建出高效且灵活的Web应用。 1. **开发环境**: - **动态Web工程**:在Java Web开发中,使用动态Web工程...
它支持现有的技术,如ORM框架、日志框架、J2EE标准以及Quartz调度库,可以方便地与其他技术和库进行集成,减少了开发者的负担。 对比EJB,EJB是Java EE中用于构建企业级应用的组件模型。EJB组件分为会话Bean...
SSH框架整合是Java开发中常见的技术栈,包括Spring、Struts2和Hibernate这三个核心组件。它们各自负责不同的职责,共同构建了一个强大的企业级应用开发框架。 Spring是一个全面的后端应用框架,它提供了依赖注入...
12.2.2. 在Spring的application context中创建 SessionFactory 12.2.3. HibernateTemplate 12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. ...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
SSH(Struts2 + Spring + Hibernate)是一种经典的Java Web开发框架,它整合了三个流行的开源组件,用于构建高效、可维护且易于扩展的企业级应用程序。下面将详细介绍SSH框架的各个组成部分及其工作原理。 1. ...
6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. ...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在 "springboot web工程jsp展示以及Mybatits数据库连接...
- **ArrayList**:在Spring配置文件中定义bean时,使用`<list>`元素。 - **HashMap**:使用`<map>`元素定义键值对。 #### 8. Struts1.X中struts-config.xml文件的有哪些元素组成 `struts-config.xml`是Struts的...