一:
spring2.5 与
ibiats 2.x 的 配置整合
1.WEB-INF目录下的jdbc.properties
(WEB-INF/jdbc.properties)
jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://192.168.1.3:1433/club
jdbc.username=club
jdbc.password=club
2.WEB-INF目录下的
applicationContext.xml(WEB-INF/applicationContext.xml)
<?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.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!-- 读取数据源properties文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<!-- <value>WEB-INF/mail.properties</value> -->
<value>WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>
<!-- 设置数据源链接参数 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置Ibiats的事务管理器 -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="WEB-INF/sql-map-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 定义事务拦截器bean -->
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<!-- Service -->
<prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="post*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="deny*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="agree*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="bar*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="join*">PROPAGATION_REQUIRED,-Exception</prop>
<prop key="Approve*">PROPAGATION_REQUIRED,-Exception</prop>
<!--DAO-->
<prop key="search*">PROPAGATION_REQUIRED,readOnly,-Exception</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator-->
<bean id="autoproxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
</beans>
二:
spring2.5 与
Hibernate 3.x 的 配置整合
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/myuser</value>
</property>
<property name="username">
<value>lighter</value>
</property>
<property name="password">
<value>12345</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/mmc/dao/domain/User.hbm.xml</value>
</list>
</property>
</bean>
<!-- 配置Hibernate的事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 定义事务拦截器bean -->
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator-->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<!-- 所有名字以DAO,Service结尾的bean,将由该"bean后处理器"为其创建事务代理;实际上应该在业务层进行事务管理,这里只是举一个简单例子 -->
<value>*DAO,*Service</value>
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<!-- 可以增加其他的拦截器 -->
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<!-- 举下面这一个例子:这时候,这一个bean已经有了事务管理,可以增加类似的bean -->
<bean id="searchUserDAO" class="org.mmc.dao.impl.SearchUserDAO">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
</beans>
下面再看一种也是常用的使用bean继承简化事务代理配置
<bean id="test1" class="test.TransactionTestImpl">
<property name="ds"><ref local="dataSource"/></property>
</bean>
<bean id="test2" class="test.TestImpl">
<property name="ds"><ref local="dataSource"/></property>
</bean>
<bean id="baseTxProxy" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="testTrans1" parent="baseTxProxy">
<property name="target">
<ref local="test1"/>
</property>
</bean>
<bean id="testTrans2" parent="baseTxProxy">
<property name="target">
<ref local="test2"/>
</property>
</bean>
分享到:
相关推荐
spring2.5_学习笔记. spring2.5_学习笔记. spring2.5_学习笔记. spring2.5_学习笔记.
Pro Spring 2.5 高清中文版.part11.rar
Pro Spring 2.5 高清中文版,真正的高清版中文版!首发! Pro Spring 2.5 高清中文版.part01.rar
因为struts2+Hibernate+Spring整合J2EE企业级开发框架新手会有很多错误.所以特为新手写了一个框架.在附件里面有oracle最新的jar包和sqlserver2008的连接驱动.
Spring2.5学习文档3.pdf
Spring2.5.chm Hibernate_3.2.0.chm Spring2.5和Hibernate3.2中文手册
struts2+Spring2.5+Spring3.2)实现登录.struts2+Spring2.5+Spring3.2)实现登录.struts2+Spring2.5+Spring3.2)实现登录。
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00 方便学生使用的工具文档 里面有比较全的经典配置文件示例 更多请见我博客 http://blog.csdn.net/shadowkiss
传智播客Spring2.5视频教程spring.ppt 讲的很详细
Pro Spring 2.5 高清中文版.part12.rar
Pro Spring 2.5 高清中文版.part10.rar
Pro Spring 2.5 高清中文版.part07.rar
Pro Spring 2.5 高清中文版.part03.rar
Pro Spring 2.5 高清中文版.part05.rar
Pro Spring 2.5 高清中文版.part04.rar
Pro Spring 2.5 高清中文版.part06.rar
Pro Spring 2.5 高清中文版.part13.rar
Pro Spring 2.5 高清中文版.part08.rar
Pro Spring 2.5 高清中文版.part02.rar