`

spring+ibatis+struts事务控制配置

阅读更多
<?xml version="1.0" encoding="UTF-8"?>

<!--
  - Application context definition for JPetStore's business layer.
  - Contains bean references to the transaction manager and to the DAOs in
  - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
  -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
          http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


<!-- ========================= GENERAL DEFINITIONS ========================= -->

<!-- Configurer that replaces ${...} placeholders with values from properties files -->
<!-- (in this case, mail and JDBC related properties) -->
<!-- serviceBean -->
<bean id="changingService" class="cn.edu.ysu.spring.service.ChangingService">
  <property name="changingDao" ref="changingDAOImpl"> </property>
    <property name="contractDao" ref="contractDAOImpl"> </property>
    <property name="reportDao" ref="reportDAOImpl"> </property>
    <property name="projectDao" ref="projectDAOImpl"> </property>
    <property name="scientistDao" ref="scientistDAOImpl"> </property>
</bean>
<bean id="contractService" class="cn.edu.ysu.spring.service.ContractService">
      <property name="changingDao" ref="changingDAOImpl"> </property>
    <property name="contractDao" ref="contractDAOImpl"> </property>
    <property name="reportDao" ref="reportDAOImpl"> </property>
    <property name="projectDao" ref="projectDAOImpl"> </property>
    <property name="scientistDao" ref="scientistDAOImpl"> </property>
</bean>
<bean id="projectService" class="cn.edu.ysu.spring.service.ProjectService">
    <property name="changingDao" ref="changingDAOImpl"> </property>
    <property name="contractDao" ref="contractDAOImpl"> </property>
    <property name="reportDao" ref="reportDAOImpl"> </property>
    <property name="projectDao" ref="projectDAOImpl"> </property>
    <property name="scientistDao" ref="scientistDAOImpl"> </property>
</bean>
<bean id="reportService" class="cn.edu.ysu.spring.service.ReportService">
    <property name="changingDao" ref="changingDAOImpl"> </property>
    <property name="contractDao" ref="contractDAOImpl"> </property>
    <property name="reportDao" ref="reportDAOImpl"> </property>
    <property name="projectDao" ref="projectDAOImpl"> </property>
    <property name="scientistDao" ref="scientistDAOImpl"> </property>
</bean>
<bean id="scientistService" class="cn.edu.ysu.spring.service.ScientistService">
    <property name="changingDao" ref="changingDAOImpl"> </property>
    <property name="contractDao" ref="contractDAOImpl"> </property>
    <property name="reportDao" ref="reportDAOImpl"> </property>
    <property name="projectDao" ref="projectDAOImpl"> </property>
    <property name="scientistDao" ref="scientistDAOImpl"> </property>
  </bean>

<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/kyproject"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</bean>

<!-- 管理ibatis的事务,加载sql-map-config.xml文件 -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" >
  <value>
  classpath:cn\edu\ysu\dao\sqlmap\sql-map-config.xml
  </value>
</property>
<property name="dataSource" ref="dataSource"/>
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource"> </property>
</bean>

<!-- daoBean -->
  <bean id="changingDAOImpl" class="cn.edu.ysu.dao.daoImplement.ChangingDAOImpl">
        <property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<bean id="contractDAOImpl" class="cn.edu.ysu.dao.daoImplement.ContractDAOImpl">
  <property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<bean id="projectDAOImpl" class="cn.edu.ysu.dao.daoImplement.ProjectDAOImpl">
  <property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<bean id="reportDAOImpl" class="cn.edu.ysu.dao.daoImplement.ReportDAOImpl">
    <property name="sqlMapClient" ref="sqlMapClient"/>
</bean>

<bean id="scientistDAOImpl" class="cn.edu.ysu.dao.daoImplement.ScientistDAOImpl">
  <property name="sqlMapClient" ref="sqlMapClient"/>
</bean>


<!-- 代理,事务管理器,定义事务 -->
<bean id="daoProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager" ref="transactionManager"> </property>
  <property name="target">
  <list>
    <ref local="scientistService"/>
    <ref local="changingService"/>
    <ref local="contractService"/>
    <ref local="projectService"/>
    <ref local="reportService"/>
  </list>
  </property>
  <property name="transactionAttributes" >
    <props>
      <prop key="create*">PROPAGATION_REQUIRED </prop>
      <prop key="update*">PROPAGATION_REQUIRED </prop>
      <prop key="remove*">PROPAGATION_REQUIRED </prop>
      <prop key="to*">PROPAGATION_REQUIRED </prop>
      <prop key="*">PROPAGATION_REQUIRED,readOnly </prop>
    </props>
  </property>
</bean>

<!-- 配置事务特性 -->
<!-- 
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
-->
<!-- 配置哪些类的方法需要事务 -->
<!--
<aop:config>
<aop:pointcut id="allMethod" expression="execution(* cn.edu.ysu.spring.service.ServiceManagerImpl.getScientistService(..))"/>
<aop:aspect id="other" ref="">
  <aop:before pointcut-ref="allMethod" method="other"/>
</aop:aspect>
</aop:config>

-->
分享到:
评论

相关推荐

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    通过这种方式,开发人员可以利用Struts2的控制层、Spring的服务层管理和依赖注入,以及Hibernate或Ibatis的数据访问能力,构建出高效且可扩展的Web应用。这些整合示例可以帮助初学者快速理解各个组件的交互方式,...

    struts2+spring+Ibatis框架包

    iBatis与Spring的结合,可以让Spring管理SqlSession,提供事务控制,并且可以利用Spring的DAO支持,简化开发过程。 在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-...

    struts2+spring+ibatis+mysql

    "Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...

    spring+struts2+ibatis整合的jar包

    为了成功地使用这个jar包,开发者需要确保项目的类路径包含了这些库,并且正确配置了Spring、Struts2和iBatis的配置文件。 总的来说,Spring、Struts2和iBatis的整合为Java Web开发提供了一个强大、灵活的解决方案...

    struts2+spring3+ibatis项目整合案例

    Struts2、Spring3和iBATIS是Java Web开发中常用的三大框架,它们各自负责不同的职责,协同工作可以构建出高效、松耦合的Web应用。在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何...

    Spring+Struts+ibatis讲解

    在Spring+Struts+ibatis这种经典的Java Web开发框架组合中,主要涉及到三层架构:表现层(Action)、业务逻辑层(Service)和数据访问层(DAO)。这些组件协同工作,实现了应用程序的功能。以下是对各部分的详细解释...

    struts+spring+ibatis做的一个增删改查例子

    在本例中,Spring主要负责管理Bean的生命周期,包括Struts中的Action类和iBATIS的SqlMapConfig.xml配置。通过Spring的IoC容器,我们可以实现组件间的松耦合,提高代码的可测试性和可维护性。 **iBATIS** 是一个持久...

    struts+spring+ibatis的Demo

    Struts、Spring和iBatis是Java开发领域中三大经典的开源框架,它们分别负责MVC模式中的动作控制、依赖注入以及数据库操作。这个"struts+spring+ibatis的Demo"压缩包文件提供了这三个框架集成使用的示例代码,旨在...

    Struts+Spring+Ibatis示例

    Struts、Spring 和 iBatis 是 Java Web 开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且易于维护的系统架构。这个"Struts+Spring+Ibatis示例"提供了一个基础的整合应用,帮助开发者理解这三者如何...

    struts2+spring+ibatis整合项目实例

    在与Struts2和iBatis的整合中,Spring主要负责组件的管理和事务控制。`Struts+Spring+Ibatis整合框架搭建配置文档.doc`应该详细阐述了如何配置Spring以管理Struts2的Action和iBatis的数据源及SqlSession。 3. **...

    struts+spring+ibatis框架

    Struts、Spring和iBatis是Java开发中常用的三大开源框架,它们各自负责应用程序的不同层面,共同构建了一个灵活且强大的企业级应用开发解决方案。这里,我们深入探讨这三个框架以及它们如何协同工作。 **Struts框架...

    spring+struts+ibatis

    例如,Spring需要配置Bean定义,Struts2需要配置Action和Result,而iBatis则需要配置SQL映射文件。此外,还需要设置好数据源、事务管理器以及各框架之间的集成点,如使用Spring的DelegatingFilterProxy实现Struts2的...

    Struts2+spring+ibatis三大框架整合实例

    iBatis与Spring结合,可以使用Spring的事务管理,实现数据库操作的事务控制。 在整合这三个框架时,我们需要做以下步骤: 1. **引入依赖**:在项目中添加Struts2、Spring和iBatis的JAR包,以及相应的库依赖。 2. ...

    struts2+spring+ibatis增删查改翻页代码示例

    Struts2、Spring和iBatis是Java Web开发中经典的三大框架组合,它们协同工作能够构建出高效、灵活的企业级应用程序。在这个“struts2+spring+ibatis增删查改翻页代码示例”中,我们将深入探讨这三个框架如何协同实现...

    struts2+spring+ibatis的小demo

    Struts2、Spring和iBatis是Java Web开发中经典的三大框架,它们组合起来可以构建出高效、可维护的企业级应用程序。在这个“struts2+spring+ibatis”的小demo中,我们将深入探讨这三个框架的核心功能以及它们如何协同...

    struts2+spring+ibatis项目实例

    通过Struts2处理请求,Spring进行依赖管理和事务控制,以及iBatis处理数据库操作,我们可以构建出高效、模块化且易于维护的系统。在学习这个实例时,应重点理解三者之间的整合方式,以及如何利用它们各自的优势来...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    在本实例中,Spring用于集成其他组件,如Struts2和iBatis,同时,它还可以处理数据库事务,确保数据的一致性。此外,Spring的AOP特性可以用于实现日志记录、权限控制等通用功能。 3. **iBatis**:iBatis是一个持久...

    Struts+Spring+Ibatis整合的Jar包

    在"Struts+Spring+Ibatis整合的Jar包"中,这三者通过合理的配置和接口调用相互协同工作,实现了数据访问、业务逻辑处理和用户界面展示的完美结合。首先,Struts2作为控制器,接收用户的请求并转发给Spring管理的业务...

    spring+ibatis+struts2+dwr反转

    在Spring+ibatis的集成中,Spring可以管理SqlSessionFactory,提供数据库操作的事务控制,使得数据库访问更为灵活和高效。 3. **Struts2框架**:Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用...

    struts2 + spring + ibatis 整合例子

    通过Struts2、Spring和iBatis的整合,我们可以实现模型、视图和控制的分离,提高代码的可读性和可维护性。同时,Spring的DI和AOP特性使得对象管理更加灵活,iBatis则提供了方便的数据库操作方式。这样的组合在企业级...

Global site tag (gtag.js) - Google Analytics