在applicationContext.xml中配置
<?xml version="1.0" encoding="gbk"?>
<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/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean
id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property
name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property
name="url"
value="jdbc:sqlserver://localhost:1500;databaseName=ssh">
</property>
<property
name="username" value="sa"></property>
<property
name="password" value="sa"></property>
</bean>
<bean
id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property
name="dataSource">
<ref
bean="dataSource" />
</property>
<property
name="hibernateProperties">
<props>
<prop
key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property
name="mappingResources">
<list>
<value>bank/entity/Account.hbm.xml</value>
</list>
</property>
</bean>
<bean
id="AccountDAO" class="bank.dao.AccountDAO">
<property
name="sessionFactory">
<ref
bean="sessionFactory" />
</property>
</bean>
<bean
id="AccountManager" class="bank.biz.AccountManager">
<property
name="dao">
<ref
bean="AccountDAO" />
</property>
</bean>
<bean
name="/account" class="bank.action.AccountAction">
<property
name="accountManager">
<ref
bean="AccountManager" />
</property>
</bean>
<!--通用事务管理器-->
<bean id="TransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionMana ger">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--指定事务策略,声明一个通知,用以指出要管理哪些事务方法及如何管理-->
<tx:advice id="txAdvice" transaction-manager="TransactionManager">
<tx:attributes>
<!-- 对get/load/search开头的方法要求只读事务 -->
<tx:method name="find*" propagation="SUPPORTS"
read-only="true" />
<!-- 对其它方法要求事务 -->
<tx:method name="*" propagation="REQUIRED"
/>
</tx:attributes>
</tx:advice>
<!--声明一个config,用以将事务策略和业务类关联起来-->
<aop:config>
<!-- 添加事务支持,因为前面配置的transactionManager是专对Hibernate的事务管理器-->
<aop:pointcut id="bizMethods" expression="execution(* bank.biz..*.*(..))"
/>
<!-- 织入 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods"
/>
</aop:config>
</beans>
<?xml version="1.0" encoding="gbk"?>
<beans xmlns="http://www.springframework.org/schema/beans"
</beans>