Spring 2.x音声明式事務管理の構成例


これはSpring 1.xの構成です.Spring 2.xを使うなら、以下の構成を参照してください.
<!--        -->      
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  <property name="sessionFactory">  
   <ref local="sessionFactory" />  
  </property>  
 </bean>   

	<!-- Transactional advice -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<!-- methods starting with 'save', 'update' or 'remove' use the default transaction settings -->
			<tx:method name="save*"/>
			<tx:method name="update*"/>
			<tx:method name="remove*"/>

			<!-- other methods are set to read only -->
			<tx:method name="*" read-only="true"/>
		</tx:attributes>
	</tx:advice>

	<!-- ensure that the above transactional advice runs for any execution
	of an operation defined by specified interface -->
	<aop:config>
		<aop:pointcut id="daoOperation"
			expression="execution(* com.DAO.BasicDAO.*(..))"/>
		<aop:advisor advice-ref="txAdvice" pointcut-ref="daoOperation"/>
	</aop:config>

<bean id="BasicDAO" class="com.DAO.BasicDAO">  
    <property name="sessionFactory">  
        <ref local="sessionFactory" />  
    </property>  
</bean>

<bean name="/login" class="com.struts.LoginAction" singleton="false">  
    <property name="basicDAO">  
        <ref bean="BasicDAO" />  
    </property>  
</bean>