struts2与spring、jdbc结合以及AOP事务管理的配置

<?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:tx=" http://www.springframework.org/schema/tx"
  xmlns:aop=" http://www.springframework.org/schema/aop"
   xsi:schemaLocation=" http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
 
 <!-- struts2与spring、jdbc结合 applicationContext.xml  -->
 
 <!-- 配置数据源 -->
 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="dirverClassName">
   <value>com.mysql.jdbc.Driver</value>
  </property>
  
  <property name="url">
   <value>jdbc:mysql://localhost/ssh?characterEncoding=utf-8</value>
  </property>
  
  <property name="username">
      <value>root</value>
  </property>
 
  <property name="password">
      <value>123</value>
  </property>
 </bean>
 
 <!-- 配置SessionFactory  -->
 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref bean="dataSource"/>
  </property>
  <property name="mappingResources">
   <list>
    <value>com/ssh/pojo/User.hbm.xml</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>
 
 <!-- 事务管理 -->
 <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref bean="sessionFactory"/>
  </property>
 </bean>
 
 <!-- hibernateTemplate -->
 <bean id="hibernateTemplate"  class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory">
       <ref bean="sessionFactory" />
    </property>
  </bean>
 
 <!-- spring AOP 配置 Start-->
 <bean id="fooService" class="x.y.service.DefaultFooService"/>
 
 <!-- 配置事务传播特 -->
 
 <!-- 其中的 'transaction-manager' 属性被设置为一个指向 PlatformTransactionManager bean的名字(这里指 'txManager'),该bean将实际上实施事务管理 -->
 <tx:advice id="txAdvice" transaction-manager="txManager">
  <tx:attributes>
   <tx:method name="get" read-only="true"/>
   <tx:method name="*"/>
  </tx:attributes>
 </tx:advice>
 
 <!-- 配置参与事务的类 -->
 <aop:config>
  <aop:pointcut id="fooServiceOperation" expression="execution(* x.y.service.FooService.*(..))"/>
  <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>
 </aop:config>
 
 <!--
  <aop:config/> 的定义,它确保由 'txAdvice' bean定义的事务通知在应用中合适的点被执行。
  首先我们定义了 一个切面,它匹配 FooService 接口定义的所有操作,我们把该切面叫做 'fooServiceOperation'。
  然后我们用一个通知器(advisor)把这个切面与 'txAdvice' 绑定在一起,表示当 'fooServiceOperation' 执行时,
  'txAdvice' 定义的通知逻辑将被执行。
  -->
 
 <!-- 配置数据持久层 -->
 <bean id="userDao" class="com.ssh.dao.impl.UserDaoImpl">
  <property name="hibernateTemplate" ref="hibernateTemplate"/>
 </bean>
 
 <!-- 配置业务逻辑层 -->
 <bean id="userService" class="com.ssh.service.impl.UserServiceImpl">
  <property name="userDao" ref="userDao"/>
 </bean>
 
 <bean name="/appweb/UserAction" class="com.ssh.web.UserAction">
  <property name="userService" ref="userService"/>
 </bean>
</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值