普通配置
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<!-- 区别部分 -->
<!-- 配置hibernate -->
<bean id="myOneSF" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- ** -->
<!-- 配置hibernate的事务管理器 -->
<bean id="guanli" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="myOneSF"/>
</bean>
<!-- 定义事务通知, 需要指定一个事务管理器 -->
<tx:advice id="txA" transaction-manager="guanli">
<!-- 定义属性,声明事务规则 -->
<tx:attributes>
<tx:method name="get*" read-only="true" propagation="SUPPORTS"/>
<tx:method name="add*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 定义那些方法应用这些规则 -->
<aop:pointcut expression="execution(* biz.impl.*.*(..))" id="method"/>
<!-- 将事务通知与应用规则的方法组合 -->
<aop:advisor advice-ref="txA" pointcut-ref="method"/>
</aop:config>
<!-- 注入DAO -->
<bean id="booksDao" class="dao.impl.BooksDaoImpl">
<property name="sessionFactory" ref="myOneSF"></property>
</bean>
<!-- 注入BIZ -->
<bean id="booksBiz" class="biz.impl.BooksBizImpl">
<property name="booksDao" ref="booksDao"/>
</bean>
<!-- 注入控制器 -->
<bean id="booksAction" class="web.action.BooksAction">
<property name="booksBiz" ref="booksBiz"/>
</bean>
</beans>