`

OpensessionInview的配置与事务的关系

阅读更多
  <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  	<property name="sessionFactory" ref="sessionFactory"/>
  </bean>
	<aop:config>
  <aop:pointcut id="servicePointCut"  expression="execution(* com.bjsxt.oa.service.*.*(..))"/>
  <aop:advisor id="serviceAdvisor" pointcut-ref="servicePointCut" advice-ref="serviceAdvice"/>
  </aop:config>
  
  <tx:advice id="serviceAdvice" transaction-manager="txManager">
  	<tx:attributes>
		  <tx:method name="add*" /> 
		   <tx:method name="del*"/>
		   <tx:method name="modify*"/>
		   <tx:method name="give*"/>
		   <tx:method name="list" read-only="true"/> 
	  </tx:attributes>
  </tx:advice>


上面的这段代码都是spring配置文件中关于事务的配置的,如果我们把这段关于事务的配配置去掉,而在web.xml配置文件中又配置了OpensessionInview拦截器,这个时候事务的边界就到了dao层了,而不是service层了 这个时候如果我们执行的方法不是读取操作,而是增删改操作,就会出错,那是因为如果没有配置事务的话,OpenSessionInview拦截到的每一个方法他都会认为他的事务是只读的,所以就无法更新了。如果这个时候把这个拦截器去掉便不会报错了,所以是这个拦截器造成的错误。但是这个地方还是别搞创新了。不可能不配置事务的
0
0
分享到:
评论

相关推荐

    Open_Session_In_View详解.doc

    #### 一、背景与概念 在使用Hibernate进行对象持久化时,经常遇到的一个问题是关于懒加载(lazy loading)的处理。懒加载是一种优化技术,允许在真正需要某个关联对象的数据时才加载它们,而不是一开始就加载所有相...

    SSH项目整合示例【OpenSessionInView】所用到的jar包

    它通过Action类来处理HTTP请求,并通过配置文件(struts-config.xml或struts2的struts.xml)定义Action与视图的映射关系。Struts的核心组件包括RequestProcessor、Action、ActionForm、ActionForward等。在SSH整合中...

    jsf + spring +hibernate 自己做的一个例子,主要是看一些基本配置

    此外,Spring的AOP(面向切面编程)可以在这里配置,以便进行事务控制和其他跨切面的关注点。Spring的DI(依赖注入)特性使得我们可以轻松地管理对象之间的依赖关系,提高代码的可测试性和可维护性。 在整合JSF、...

    最全的Spring考题与答案

    - 使用`@Transactional`注解进行方法级别的事务配置,如`PROPAGATION_REQUIRED`表示支持当前事务,无事务则新建。 通过上述讲解,我们可以了解到Spring的核心特性和使用方式,包括其优点、依赖注入的实现、控制...

    spring+spingmvc+hibernate整合总结

    这个配置文件会定义处理器映射器、视图解析器以及其他与请求处理相关的组件。 四、过滤器配置 为了保证数据的正确传输和处理,通常需要在`web.xml`中注册一些常用的过滤器,如字符集过滤器(解决乱码问题)和...

    spring面试题大全

    2. 声明式事务管理:通过注解或XML配置,Spring会自动管理事务的开始、提交、回滚。如使用@Transactional注解标记方法,指定传播行为(如PROPAGATION_REQUIRED表示必须在事务中运行,无事务则新建)。 声明式事务...

    spring面试题大全.doc

    - **声明式事务管理**:基于AOP的事务管理,通过配置如`@Transactional`注解实现,更简洁且易于维护。 6. **事务传播行为**: - `PROPAGATION_REQUIRED`:默认行为,如果存在事务则加入,否则新建事务。 - `...

    面试知识点总结--spring面试题大全.pdf

    3. 依赖注入(DI)与IoC:Spring通过控制反转(IoC)实现了对象间的依赖关系解耦,简化了JDBC操作。 4. 开源免费:Spring是开源社区的产物,开发者可以免费使用并参与其发展。 5. 对象管理:Spring的IoC容器负责对象...

    SSH框架搭建.doc

    同时,Spring提供了事务管理、数据访问集成、Web MVC等模块,方便与各种其他框架如Hibernate集成。 **Hibernate框架**是一个强大的ORM(对象关系映射)工具,它允许开发者用Java对象来操作数据库,而无需关心底层...

    spring管理struts和hibernate

    - 使用Spring的`&lt;bean&gt;`元素来创建Struts Action的实例,同时可以利用Spring的依赖注入特性来管理Action与其他组件之间的依赖关系。 2. **简化开发流程**: - 通过Spring管理Struts中的Action,可以减少大量的...

    Spring框架1

    - **ActionMapping**:存储配置文件中action节点的元数据,定义了请求URL与Action类的映射关系。 4. **AOP和IOC**: - **AOP(面向方面编程)**:关注点分离,将横切关注点(如事务管理)与核心业务逻辑解耦。...

    struts spring hibernate面试题

    - **声明式事务**:通过 XML 或注解配置事务边界。 - **编程式事务**:通过手动管理事务生命周期来实现。 - **隔离级别**: - `DEFAULT`:使用数据库默认隔离级别。 - `READ_UNCOMMITTED`:最低的隔离级别,可能...

    韩顺平spring 雇员管理系统hibernate jar包

    Hibernate是一个流行的开源Java ORM框架,它简化了Java应用与关系型数据库之间的交互,通过将Java对象与数据库表进行映射,避免了繁琐的SQL代码编写。在"hibernateOrJPA.zip"压缩包中,包含了实现这一系统的相关资料...

    SSH面试题

    如果没有配置事务管理,则需显式开启和提交事务。 - **示例**: 在Spring配置文件中定义`HibernateTemplate`,并通过注解或XML配置声明式事务管理,使得使用`HibernateTemplate`的CRUD操作能够自动参与事务。

    struts2+hirbate+spring面试题

    - **声明式事务**:通过配置元数据(如XML或注解)定义事务边界。 - **编程式事务**:手动管理事务开始、提交、回滚。 - **事务隔离级别**:包括DEFAULT、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ和...

Global site tag (gtag.js) - Google Analytics