<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>