近来做了一个小项目,用到了Struts1.x,Spring 2.5和Hibernate3,其中的一些配置文件较为典型,所以拿到这里来和大家分享。
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
- <!--
- ======================集成Hibernate,配置SessionFactory和数据源======================
- -->
- <!-- 数据源由Hibernate配置 -->
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="configLocation">
- <value>classpath:hibernate.cfg.xml</value>
- </property>
- </bean>
- <!-- 数据源交给Spring配置
- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
- <property name="jndiName" value="jdbc/st"/>
- </bean>
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="dataSource" ref="dataSource"/>
- <property name="mappingResources">
- <list>
- <value>edu/st/persistence/User.hbm.xml</value>
- <value>edu/st/persistence/News.hbm.xml</value>
- <value>edu/st/persistence/DownFile.hbm.xml</value>
- </list>
- </property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <prop key="hibernate.show_sql">true</prop>
- <prop key="hibernate.hbm2ddl.auto">update</prop>
- </props>
- </property>
- </bean>
- -->
- <!--
- ===========================配置事务支持======================================
- -->
- <!-- 配置事务管理器 -->
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref bean="sessionFactory"/>
- </property>
- </bean>
- <!-- 配置事务的传播特性 -->
- <tx:advice id="txAdvice" transaction-manager="transactionManager">
- <tx:attributes>
- <tx:method name="add" propagation="REQUIRED"/>
- <tx:method name="delete" propagation="REQUIRED"/>
- <tx:method name="update" propagation="REQUIRED"/>
- <tx:method name="*" read-only="true"/>
- </tx:attributes>
- </tx:advice>
- <!-- 那些类的哪些方法参与事务 -->
- <aop:config>
- <aop:pointcut id="allManagerMethod" expression="execution(* org.scorpio.business.*.*(..))"/>
- <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
- </aop:config>
- <!--
- ===========================DAO层组件配置====================================
- -->
- <bean id="userDAO" class="org.scorpio.dao.UserDAOImpl">
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
- <bean id="managerDAO" class="org.scorpio.dao.ManagerImpl">
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
- <!--
- ==========================业务逻辑层组件配置=================================
- -->
- <bean id="userService" class="org.scorpio.business.UserServiceImpl">
- <property name="userDAO" ref="userDAO"/>
- </bean>
- <bean id="managerService" class="org.scorpio.business.ManagerServiceImpl">
- <property name="managerDAO" ref="managerDAO"/>
- </bean>
- <!--
- ======================集成Struts,web层的Action配置==========================
- -->
- <bean name="/userAction" class="org.scorpio.web.action.UserAction">
- <property name="userService" ref="userService"/>
- </bean>
- <bean name="/managerAction" class="org.scorpio.web.action.ManagerAction">
- <property name="managerService" ref="managerService"/>
- </bean>
- <bean name="/loginAction" class="org.scorpio.web.action.LoginAction">
- <property name="userService" ref="userService"/>
- <property name="managerService" ref="managerService"/>
- </bean>
- </beans>