SSH中事务配置详解
2013-05-29 11:20
351 查看
<!-- 数据库连接的数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!-- 数据库连接驱动 -->
<property name="driverClassName" value="${jdbc.driverClassName}" />
<!-- 连接的用户名 -->
<property name="username" value="${jdbc.username}" />
<!-- 连接的用户密码 -->
<property name="password" value="${jdbc.password}" />
<!-- 连接的url地址 -->
<property name="url" value="${jdbc.url}" />
<!--数据库的连接的最小值 -->
<!--数据库的连接的最大值 -->
</bean>
<!-- sessionFactory工厂 -->
<bean id="localSessionFactoryBean"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 数据库连接的数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- hibernate的映射文件配置 -->
<property name="mappingResources">
<array>
<value>www/csdn/news/domain/NewsType.hbm.xml</value>
<value>www/csdn/news/domain/News.hbm.xml</value>
</array>
</property>
<!-- hibernate的属性配置 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory
</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.connection.SetBigStringTryClob">true</prop>
</props>
</property>
</bean>
<!-- hibernate封装的模版类 -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="localSessionFactoryBean" />
</bean>
<!-- 封装hibernateTemplate的类 -->
<bean id="hibernateDaoSupport"
class="org.springframework.orm.hibernate3.support.HibernateDaoSupport"
abstract="true">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<!-- 事务管理器 -->
<bean id="hibernateTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="localSessionFactoryBean" />
</bean>
<!-- 事务的通知 -->
<tx:advice id="txAdvice" transaction-manager="hibernateTransactionManager">
<!-- 事务的属性 -->
<tx:attributes>
<!-- 事务的具体执行方法 -->
<tx:method name="save*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="get*" propagation="REQUIRED" isolation="DEFAULT"
read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 切面 -->
<aop:config>
<aop:pointcut expression="execution(* *..service.*.*(..))"
id="mycut" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="mycut" />
</aop:config>
<!-- 导入文件 -->
<import resource="spring-dao.xml" />
<import resource="spring-service.xml" />
<import resource="spring-action.xml" />
<!-- 分散配置解析 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!-- 数据库连接驱动 -->
<property name="driverClassName" value="${jdbc.driverClassName}" />
<!-- 连接的用户名 -->
<property name="username" value="${jdbc.username}" />
<!-- 连接的用户密码 -->
<property name="password" value="${jdbc.password}" />
<!-- 连接的url地址 -->
<property name="url" value="${jdbc.url}" />
<!--数据库的连接的最小值 -->
<!--数据库的连接的最大值 -->
</bean>
<!-- sessionFactory工厂 -->
<bean id="localSessionFactoryBean"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 数据库连接的数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- hibernate的映射文件配置 -->
<property name="mappingResources">
<array>
<value>www/csdn/news/domain/NewsType.hbm.xml</value>
<value>www/csdn/news/domain/News.hbm.xml</value>
</array>
</property>
<!-- hibernate的属性配置 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory
</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.connection.SetBigStringTryClob">true</prop>
</props>
</property>
</bean>
<!-- hibernate封装的模版类 -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="localSessionFactoryBean" />
</bean>
<!-- 封装hibernateTemplate的类 -->
<bean id="hibernateDaoSupport"
class="org.springframework.orm.hibernate3.support.HibernateDaoSupport"
abstract="true">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<!-- 事务管理器 -->
<bean id="hibernateTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="localSessionFactoryBean" />
</bean>
<!-- 事务的通知 -->
<tx:advice id="txAdvice" transaction-manager="hibernateTransactionManager">
<!-- 事务的属性 -->
<tx:attributes>
<!-- 事务的具体执行方法 -->
<tx:method name="save*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="get*" propagation="REQUIRED" isolation="DEFAULT"
read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 切面 -->
<aop:config>
<aop:pointcut expression="execution(* *..service.*.*(..))"
id="mycut" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="mycut" />
</aop:config>
<!-- 导入文件 -->
<import resource="spring-dao.xml" />
<import resource="spring-service.xml" />
<import resource="spring-action.xml" />
<!-- 分散配置解析 -->
<context:property-placeholder location="classpath:jdbc.properties" />
相关文章推荐
- SSH中事务配置详解(使用tx标签配置的拦截器)
- SSH中事务配置详解
- SSH中事务配置详解(全注解)
- SSH中事务配置详解(使用拦截器)
- SSH中事务配置详解(所有Bean共享一个代理基类)
- SSH中事务配置详解(每个Bean都有一个代理)
- SSH 事务管理配置详解
- SSH中事务配置详解
- Spring事务的配置详解:AOP配置数据库操作的事务
- 基于配置的Spring声明式事务管理详解
- Spring中annotation-driven配置事务管理器详解
- Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务
- Spring(三)SSH整合配置详解
- CISCO 配置SSH详解
- Cisco IOS配置SSH详解
- Eclipse 配置SSH 详解
- 【转】 SSH事务配置大全
- Spring事务Transaction配置的五种注入方式详解
- SSH:Hibernate框架(七种关联关系映射及配置详解)
- SSH整合时,基于注解的事务管理的配置方式