<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<-- session工厂节点,将Hibernate的session工厂注入到Spring的配置文件中 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
<-- 设置事务代理类,并将session工厂对象引入事务中 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<-- 引入事务代理对象及其相关配置常量,并通过abstract属性将本节点设置为父类,子类子要继承此类(设置parent属性),就可直接使用此类的属性也就是事务,无需每个节点再设置 -->
<bean id="base" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager">
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
《-- DAO节点,需要注入session工厂对象 --》
<bean id="userDao" class="userDao.impl.UserDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
《-- 具体对dao对象进行调用的使用类,直接在此通告ref引入userDao对象即可在该类中直接调用userDao对象,但是前提是在UserBiz类中要设置userDao的属性声明和setter方法 --》
<bean id="userBizTarget" class="UserBiz.impl.UserBiz">
<property name="userDao" ref="userDao"></property>
</bean>
《-- 设置此类继承事务代理父类,通告parent属性继承父类属性 --》
<bean id="userBiz" parent="base">
<property name="target" ref="userBizTarget"></property>
</bean>
《-- 对action节点的设置,通过class找到action的具体路径,name属性是struts配置文件中节点path,ref注入相关对象,在struts配置中要修改相关action节点的type属性 --》
<bean name="/users" class="com.yourcompany.struts.action.UsersActionAction">
<property name="userBiz" ref="userBiz"></property>
</bean>
</beans>
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<-- session工厂节点,将Hibernate的session工厂注入到Spring的配置文件中 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
<-- 设置事务代理类,并将session工厂对象引入事务中 -->
<bean id="myHibTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<-- 引入事务代理对象及其相关配置常量,并通过abstract属性将本节点设置为父类,子类子要继承此类(设置parent属性),就可直接使用此类的属性也就是事务,无需每个节点再设置 -->
<bean id="base" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myHibTransactionManager">
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
《-- DAO节点,需要注入session工厂对象 --》
<bean id="userDao" class="userDao.impl.UserDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
《-- 具体对dao对象进行调用的使用类,直接在此通告ref引入userDao对象即可在该类中直接调用userDao对象,但是前提是在UserBiz类中要设置userDao的属性声明和setter方法 --》
<bean id="userBizTarget" class="UserBiz.impl.UserBiz">
<property name="userDao" ref="userDao"></property>
</bean>
《-- 设置此类继承事务代理父类,通告parent属性继承父类属性 --》
<bean id="userBiz" parent="base">
<property name="target" ref="userBizTarget"></property>
</bean>
《-- 对action节点的设置,通过class找到action的具体路径,name属性是struts配置文件中节点path,ref注入相关对象,在struts配置中要修改相关action节点的type属性 --》
<bean name="/users" class="com.yourcompany.struts.action.UsersActionAction">
<property name="userBiz" ref="userBiz"></property>
</bean>
</beans>