WEB开发网
开发学院软件开发Java Spring 事务管理高级应用难点剖析,第 1 部分 阅读

Spring 事务管理高级应用难点剖析,第 1 部分

 2010-03-22 00:00:00 来源:WEB开发网   
核心提示: 通过 @Controller 注解将 MixLayerUserService 变成 Web 层的 Controller,同时也是 Service 层的服务类,Spring 事务管理高级应用难点剖析,第 1 部分(6),此外,由于直接使用 JdbcTemplate 访问数据,所以 MixLayer

通过 @Controller 注解将 MixLayerUserService 变成 Web 层的 Controller,同时也是 Service 层的服务类。此外,由于直接使用 JdbcTemplate 访问数据,所以 MixLayerUserService 还是一个 DAO。来看一下对应的 Spring 配置文件:

清单 6.applicationContext.xml

<?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:context="http://www.springframework.org/schema/context" 
  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-3.0.xsd 
  http://www.springframework.org/schema/context 
 http://www.springframework.org/schema/context/spring-context-3.0.xsd 
 http://www.springframework.org/schema/aop 
 http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
 http://www.springframework.org/schema/tx 
  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> 
  <!--扫描Web类包,通过注释生成Bean--> 
  <context:component-scan base-package="user.mixlayer"/> 
  <!--①.启动Spring MVC的注解功能,完成请求和注解POJO的映射--> 
  <bean class="org.springframework.web.servlet.mvc.annotation 
   .AnnotationMethodHandlerAdapter"/> 
 
  <!--模型视图名称的解析,即在模型视图名称添加前后缀 --> 
  <bean class="org.springframework.web.servlet.view 
   .InternalResourceViewResolver" 
     p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> 
 
  <!--普通数据源 --> 
  <bean id="dataSource" 
    class="org.apache.commons.dbcp.BasicDataSource" 
    destroy-method="close" 
    p:driverClassName="oracle.jdbc.driver.OracleDriver" 
    p:url="jdbc:oracle:thin:@localhost:1521:orcl" 
    p:username="test" 
    p:password="test"/> 
 
  <bean id="jdbcTemplate" 
     class="org.springframework.jdbc.core.JdbcTemplate" 
     p:dataSource-ref="dataSource"/> 
 
  <!--事务管理器 --> 
  <bean id="jdbcManager" 
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager" 
    p:dataSource-ref="dataSource"/> 
   
  <!--②使用aop和tx命名空间语法为MixLayerUserService所有公用方法添加事务增强 --> 
  <aop:config proxy-target-class="true"> 
    <aop:pointcut id="serviceJdbcMethod" 
      expression="execution(public * user.mixlayer.MixLayerUserService.*(..))"/> 
    <aop:advisor pointcut-ref="serviceJdbcMethod" 
      advice-ref="jdbcAdvice" order="0"/> 
  </aop:config> 
  <tx:advice id="jdbcAdvice" transaction-manager="jdbcManager"> 
    <tx:attributes> 
      <tx:method name="*"/> 
    </tx:attributes> 
  </tx:advice> 
</beans> 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Spring 事务管理 高级

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接