<! -- Construct HibernateTransactionManager to obtain sessions and manage transactions --> <bean id = "transactionManager" class = "org. springframework. orm. hibernate3.HibernateTransactionManager "> <property name =" sessionFactory "> <ref bean =" sessionFactory "/> </property> </bean> <! -- Construct TransactionInterceptor and determine the transaction to add to those methods --> <bean id = "interceptor" class = "org. springframework. transaction. interceptor. transactionInterceptor "> <property name =" transactionManager "> <ref bean =" transactionManager "/> </property> <property name =" transactionAttributes "> <props> <prop key =" * "> PROPAGATION_REQUIRED </prop> </props> </property> </bean> <! -- Automatically generate a proxy to add the transaction on the Interceptor to the specified class --> <bean id = "auto" class = "org. springframework. aop. framework. autoproxy. beanNameAutoProxyCreator "> <! -- Add proxy for objects --> <property name = "beanNames"> <list> <value> * Ser </value> </list> </property> <! -- Add notifications to the agent (transaction processing, logs, etc) --> <property name = "interceptorNames"> <list> <idref local = "interceptor"/> </list> </property> </bean> the IDS of all beans configured in add transactions ending with "Ser.