<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>file:src/org/brian/vo/hibernate.cfg.xml</value>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="proxyTemplate"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="find*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator -->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定对哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean -->
<list>
<value>EmpService</value>
<value>IndexsService</value>
<value>NoteNameService</value>
<value>SendService</value>
</list>
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器 -->
<property name="interceptorNames">
<list>
<!-- 此处可以增加多个其他的拦截器 -->
<value>proxyTemplate</value>
</list>
</property>
</bean>
<bean id="EmpService" class="org.brian.service.impl.EmpService">
<property name="empDAO">
<ref bean="EmpDAO" />
</property>
</bean>
<bean id="IndexsService"
class="org.brian.service.impl.IndexsService">
<property name="indexsDAO">
<ref bean="IndexsDAO" />
</property>
</bean>
<bean id="NoteNameService"
class="org.brian.service.impl.NoteNameService">
<property name="noteNameDAO">
<ref bean="NoteNameDAO" />
</property>
</bean>
<bean id="SendService" class="org.brian.service.impl.SendService">
<property name="sendDAO">
<ref bean="SendDAO" />
</property>
<property name="indexsDAO">
<ref bean="IndexsDAO" />
</property>
</bean>
<bean id="SendDAO" class="org.brian.dao.impl.SendDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="SendEmpDAO" class="org.brian.dao.impl.SendEmpDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="IndexsDAO" class="org.brian.dao.impl.IndexsDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="NoteNameDAO" class="org.brian.dao.impl.NoteNameDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="NoteEmpDAO" class="org.brian.dao.impl.NoteEmpDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="EmpDAO" class="org.brian.dao.impl.EmpDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
</beans>