Spring的事务处理之声明式事务处理

[Java]   view plain copy
 
  1. import javax.sql.DataSource;   
  2.   
  3. import org.springframework.jdbc.core.*;   
  4.   
  5. import org.springframework.transaction.*;   
  6.   
  7. import org.springframework.dao.*;   
  8.   
  9. public class bookDAO{   
  10.   
  11.    private DataSource dataSource;// 依赖注入 dataSource ,管理数据库   
  12.   
  13.    private PlatformTransationManager transactionManager;// 依赖注入管理事务   
  14.   
  15.    public void setDataSource(DataSource dataSource){   
  16.     this.dataSource=dataSource;   
  17.    } 
  18.   
  19.    public void setTransactionManager(PlatformTransationManager transactionManager){   
  20.         this. transactionManager= transactionManager;   
  21.    }   
  22.    public int create(String msg){   
  23.         JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);   
  24.         jdbcTemplate.update(“INSERT INFO book VALUES(1,’gf’,’Mastering Spring’)”);   
  25.    }   
  26. }   
  27.   
  28.   
  29. "XML" _code
  30.   
  31. <beans>   
  32.   
  33.     <bean id="dataSource" class="org.springframework.jdbc.datasource.
  34.             DriverManagerDataSource”">   
  35.   
  36.       <!— 使用SQL Server 数 据 库 à   
  37.   
  38.        <property name="driverClassName">    
  39.           <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>   
  40.        </property>  
  41.        <property name="url">   
  42.           <value>jdbc:Microsoft:sqlserver://localhost:1433/stdb</value>   
  43.        </property>   
  44.   
  45.        <property name="name">   
  46.           <value>admin</value>   
  47.        </property>  
  48.    
  49.        <property name="msg">   
  50.           <value>admin</value>   
  51.        </property>   
  52.   
  53.     </bean>   
  54.   
  55.     <bean id="transactionManager" class="org.springframework.jdbc.
  56.         datasource.DataSourceTransactionManager">   
  57.         <property name="dataSource">   
  58.             <ref bean="dataSource"></ref>
  59.         </property>   
  60.     </bean>   
  61.   
  62.    <!—  DAO-->   
  63.   
  64.     <bean id="bookDAO" class="com.bookDAO">   
  65.         <property name="dataSource">   
  66.             <ref bean="dataSource"/>   
  67.         </property>    
  68.   
  69.       <property name="”transactionManager”">   
  70.             <ref bean="”transactionManager”">  
  71.       </property>   
  72.  
  73.    </bean>   
  74.   
  75.    <bean id="bookDAOProxy" class="”org.springframework.transaction.interceptor.
  76.            Transation.ProxyFactoryBean”">   
  77.         <property name="transacionManager">   
  78.             <ref bean="transacionMaganer"/>   
  79.         </property>  
  80.  
  81.         <property name="target">   
  82.             <ref bean="bookDAO"/>   
  83.         </property>   
  84.   
  85.        <property name="transactionAttributes">   
  86.             <props>   
  87.                 <prop key="create">PROPAGATION_REQUIRED</prop>   
  88.             </props>   
  89.         </property>     
  90.    </bean>    
  91. </beans>  

 

你可能感兴趣的:(spring,声明式事务处理)