`
xuyiooo
  • 浏览: 73133 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring几种事务配置

阅读更多

根据代理机制不同,有以下几种配置方式:

 

 

 先定义一个DAO接口及实现类:

 

 

Java代码 复制代码
  1. public interface IUserDao {   
  2.  public void insertUser(UserTable user);   
  3. }  
public interface IUserDao {
 public void insertUser(UserTable user);
}

 

实现类:

 

 

Java代码 复制代码
  1. public class UserDaoImpl extends HibernateDaoSupport implements IUserDao{   
  2.     public void insertUser(UserTable user) {   
  3.         getHibernateTemplate().saveOrUpdate(user);   
  4.     }   
  5. }  
public class UserDaoImpl extends HibernateDaoSupport implements IUserDao{
	public void insertUser(UserTable user) {
		getHibernateTemplate().saveOrUpdate(user);
	}
}

 

 

第一种

 

    为每个bean设置一个代理,这种是根据具体需求来定,如要对具体到每个交易进行事务操作的话,这个方式是最合适的;

 

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">   
  3. <!-- 每个bean都有一个代理 -->   
  4. <beans>   
  5.     <!-- sessionFactory相当于spring datasource -->   
  6.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">     
  7.         <property name="configLocation" value="classpath:hibernate.cfg.xml" />     
  8.         <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />   
  9.     </bean>     
  10.     <!-- 定义事务管理器(声明式的事务) -->     
  11.     <bean id="transactionManager"  
  12.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
  13.         <property name="sessionFactory" ref="sessionFactory" />   
  14.     </bean>   
  15.        
  16.     <!-- 配置DAO -->   
  17.     <bean id="userDao" class="org.lgh.spring.transaction2.UserDaoImpl">   
  18.         <property name="sessionFactory" ref="sessionFactory" />   
  19.     </bean>   
  20.        
  21.        
  22.     <!-- 每个bean都有一个代理 <property name="target" ref="userDaoTarget" />  -->   
  23.     <bean id="userDaoProxy"     
  24.         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">     
  25.            <!-- 配置事务管理器 -->     
  26.            <property name="transactionManager" ref="transactionManager" />        
  27.         <property name="target" ref="userDao" />     
  28.          <property name="proxyInterfaces" value="org.lgh.spring.transaction2.IUserDao" />   
  29.         <!-- 配置事务属性 -->     
  30.         <property name="transactionAttributes">     
  31.             <props>     
  32.                 <prop key="*">PROPAGATION_REQUIRED</prop>   
  33.             </props>     
  34.         </property>     
  35.     </bean>     
  36. </beans>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- 每个bean都有一个代理 -->
<beans>
	<!-- sessionFactory相当于spring datasource -->
 	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />  
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
    </bean>  
	<!-- 定义事务管理器(声明式的事务) -->  
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    <!-- 配置DAO -->
    <bean id="userDao" class="org.lgh.spring.transaction2.UserDaoImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    
    <!-- 每个bean都有一个代理 <property name="target" ref="userDaoTarget" />  -->
    <bean id="userDaoProxy"  
        class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  
           <!-- 配置事务管理器 -->  
           <property name="transactionManager" ref="transactionManager" />     
        <property name="target" ref="userDao" />  
         <property name="proxyInterfaces" value="org.lgh.spring.transaction2.IUserDao" />
        <!-- 配置事务属性 -->  
        <property name="transactionAttributes">  
            <props>  
                <prop key="*">PROPAGATION_REQUIRED</prop>
            </props>  
        </property>  
    </bean>  
</beans>

 

第二种:

     所有的bean共享一个代理

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">   
  3.   <!-- 所有的bean共享一个代理-->   
  4. <beans>   
  5.     <bean id="sessionFactory"     
  6.             class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">     
  7.         <property name="configLocation" value="classpath:hibernate.cfg.xml" />     
  8.         <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />   
  9.     </bean>     
  10.   
  11.     <!-- 定义事务管理器(声明式的事务) -->     
  12.     <bean id="transactionManager"  
  13.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
  14.         <property name="sessionFactory" ref="sessionFactory" />   
  15.     </bean>   
  16.     <!-- 所有的bean共享一个代理/>  -->   
  17.     <bean id="transactionBase"     
  18.             class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"     
  19.             lazy-init="true" abstract="true">     
  20.         <!-- 配置事务管理器 -->     
  21.         <property name="transactionManager" ref="transactionManager" />     
  22.         <!-- 配置事务属性 -->     
  23.         <property name="transactionAttributes">     
  24.             <props>     
  25.                 <prop key="*">PROPAGATION_REQUIRED</prop>     
  26.             </props>     
  27.         </property>     
  28.     </bean>       
  29.       
  30.     <!-- 配置DAO -->   
  31.     <bean id="userDao" class="org.lgh.spring.transaction3.UserDaoImpl">   
  32.         <property name="sessionFactory" ref="sessionFactory" />   
  33.     </bean>   
  34.      <!-- 所有的bean共享一个代理/>  -->   
  35.     <bean id="userDaoProxy" parent="transactionBase" >     
  36.         <property name="target" ref="userDao" />      
  37.     </bean>   
  38.   
  39. </beans>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
  <!-- 所有的bean共享一个代理-->
<beans>
	<bean id="sessionFactory"  
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />  
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
    </bean>  

    <!-- 定义事务管理器(声明式的事务) -->  
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <!-- 所有的bean共享一个代理/>  -->
    <bean id="transactionBase"  
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"  
            lazy-init="true" abstract="true">  
        <!-- 配置事务管理器 -->  
        <property name="transactionManager" ref="transactionManager" />  
        <!-- 配置事务属性 -->  
        <property name="transactionAttributes">  
            <props>  
                <prop key="*">PROPAGATION_REQUIRED</prop>  
            </props>  
        </property>  
    </bean>    
   
    <!-- 配置DAO -->
    <bean id="userDao" class="org.lgh.spring.transaction3.UserDaoImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
     <!-- 所有的bean共享一个代理/>  -->
    <bean id="userDaoProxy" parent="transactionBase" >  
        <property name="target" ref="userDao" />   
    </bean>

</beans>

 

 

 

 

 

 

第三种:

   使用拦截器 来配置你的事务,这个主要是进行一些方法调用前后进行一些其他事件的处理,如进行权限检查等...

代码如下:

 

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">   
  3.     
  4. <!-- 使用拦截器 -->   
  5.   
  6. <beans>   
  7.     <bean id="sessionFactory"     
  8.             class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">     
  9.         <property name="configLocation" value="classpath:hibernate.cfg.xml" />     
  10.         <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />   
  11.     </bean>     
  12.   
  13.     <!-- 定义事务管理器(声明式的事务) -->     
  14.     <bean id="transactionManager"  
  15.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
  16.         <property name="sessionFactory" ref="sessionFactory" />   
  17.     </bean>    
  18.       
  19.     <bean id="transactionInterceptor"     
  20.         class="org.springframework.transaction.interceptor.TransactionInterceptor">     
  21.         <property name="transactionManager" ref="transactionManager" />     
  22.         <!-- 配置事务属性 -->     
  23.         <property name="transactionAttributes">     
  24.             <props>     
  25.                 <prop key="*">PROPAGATION_REQUIRED</prop>     
  26.             </props>     
  27.         </property>     
  28.     </bean>   
  29.     <bean name="logger" class="org.lgh.spring.transaction4.SpringAOPInterceptor">   
  30.            
  31.     </bean>   
  32.        
  33.        
  34.     <bean id="logBeforeAdvice" class="com.spring.advices.LogBeforeAdvice">   
  35.     </bean>   
  36.        
  37.     <!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性      
  38.     这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理    -->   
  39.     <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">     
  40.         <!-- 加上此句就不会抛出 $Proxy cannot be cast的异常啦-->   
  41.         <property name="proxyTargetClass">   
  42.               <value>true</value>   
  43.         </property>     
  44.         <property name="beanNames">     
  45.             <list>     
  46.             <!-- *Dao对应下面的userDao要对它进行拦截-->   
  47.                 <value>userDao</value>   
  48.             </list>     
  49.         </property>     
  50.         <property name="interceptorNames">     
  51.             <list>     
  52.                 <value>transactionInterceptor</value>     
  53.                 <value>logBeforeAdvice</value>   
  54.             </list>     
  55.         </property>     
  56.     </bean>     
  57.      
  58.     <!-- 配置DAO -->   
  59.     <bean id="userDao" class="org.lgh.spring.transaction4.UserDaoImpl">   
  60.         <property name="sessionFactory" ref="sessionFactory" />   
  61.     </bean>   
  62.        
  63.     <!-- 服务层 service-->   
  64.      <bean id="userService" class="org.lgh.spring.transaction4.UserServiceImpl">   
  65.         <property name="userDao" ref="userDao" />   
  66.     </bean>   
  67. </beans>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<!-- 使用拦截器 -->

<beans>
	<bean id="sessionFactory"  
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />  
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
    </bean>  

    <!-- 定义事务管理器(声明式的事务) -->  
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean> 
   
    <bean id="transactionInterceptor"  
        class="org.springframework.transaction.interceptor.TransactionInterceptor">  
        <property name="transactionManager" ref="transactionManager" />  
        <!-- 配置事务属性 -->  
        <property name="transactionAttributes">  
            <props>  
                <prop key="*">PROPAGATION_REQUIRED</prop>  
            </props>  
        </property>  
    </bean>
    <bean name="logger" class="org.lgh.spring.transaction4.SpringAOPInterceptor">
    	
    </bean>
    
    
    <bean id="logBeforeAdvice" class="com.spring.advices.LogBeforeAdvice">
	</bean>
	
    <!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性   
	这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理    -->
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
        <!-- 加上此句就不会抛出 $Proxy cannot be cast的异常啦-->
        <property name="proxyTargetClass">
        	  <value>true</value>
        </property>  
        <property name="beanNames">  
            <list>  
            <!-- *Dao对应下面的userDao要对它进行拦截-->
                <value>userDao</value>
            </list>  
        </property>  
        <property name="interceptorNames">  
            <list>  
                <value>transactionInterceptor</value>  
                <value>logBeforeAdvice</value>
            </list>  
        </property>  
    </bean>  
  
    <!-- 配置DAO -->
    <bean id="userDao" class="org.lgh.spring.transaction4.UserDaoImpl">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    <!-- 服务层 service-->
     <bean id="userService" class="org.lgh.spring.transaction4.UserServiceImpl">
        <property name="userDao" ref="userDao" />
    </bean>
</beans>

 

 

  

 

 

第四种:

  使用aop:config配置方式

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xsi:schemaLocation="http://www.springframework.org/schema/beans    
  8.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd   
  9.            http://www.springframework.org/schema/context   
  10.            http://www.springframework.org/schema/context/spring-context-2.5.xsd   
  11.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd   
  12.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">   
  13.   
  14.   
  15.  <context:annotation-config />   
  16.     <context:component-scan base-package="org.lgh.spring.transaction5" />   
  17.   
  18.     <bean id="sessionFactory"     
  19.             class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">     
  20.         <property name="configLocation" value="classpath:hibernate.cfg.xml" />     
  21.         <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />   
  22.     </bean>     
  23.   
  24.     <!-- 定义事务管理器(声明式的事务) -->     
  25.     <bean id="transactionManager"  
  26.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
  27.         <property name="sessionFactory" ref="sessionFactory" />   
  28.     </bean>   
  29.   
  30.     <tx:advice id="txAdvice" transaction-manager="transactionManager">   
  31.         <tx:attributes>   
  32.             <tx:method name="*" propagation="REQUIRED" />   
  33.         </tx:attributes>   
  34.     </tx:advice>   
  35.        
  36.     <aop:config   proxy-target-class="true" >   
  37.            
  38.         <aop:pointcut id="interceptorPointCuts"  
  39.             expression="execution(* org.lgh.spring.transaction5.*.*(..))" />   
  40.         <aop:advisor advice-ref="txAdvice"  
  41.             pointcut-ref="interceptorPointCuts" />           
  42.     </aop:config>        
  43.         
  44.     <!-- 配置DAO -->   
  45.     <bean id="userDao" class="org.lgh.spring.transaction5.UserDaoImpl">   
  46.   
  47.         <property name="sessionFactory" ref="sessionFactory" />   
  48.     </bean>   
  49.        
  50.         
  51.   
  52.        
  53. </beans>  
<?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: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/context
           http://www.springframework.org/schema/context/spring-context-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">


 <context:annotation-config />
    <context:component-scan base-package="org.lgh.spring.transaction5" />

    <bean id="sessionFactory"  
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />  
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
    </bean>  

    <!-- 定义事务管理器(声明式的事务) -->  
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*" propagation="REQUIRED" />
        </tx:attributes>
    </tx:advice>
    
    <aop:config   proxy-target-class="true" >
    	
        <aop:pointcut id="interceptorPointCuts"
            expression="execution(* org.lgh.spring.transaction5.*.*(..))" />
        <aop:advisor advice-ref="txAdvice"
            pointcut-ref="interceptorPointCuts" />        
    </aop:config>     
     
    <!-- 配置DAO -->
    <bean id="userDao" class="org.lgh.spring.transaction5.UserDaoImpl">

        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
     

    
</beans>

 

 

 

 

 

 

 

还有一种就是采用全注解方式:

    代码如下:

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2.   
  3. <!--全注解 -->   
  4. <beans xmlns="http://www.springframework.org/schema/beans"  
  5.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  6.     xmlns:context="http://www.springframework.org/schema/context"  
  7.     xmlns:aop="http://www.springframework.org/schema/aop"  
  8.     xmlns:tx="http://www.springframework.org/schema/tx"  
  9.     xsi:schemaLocation="http://www.springframework.org/schema/beans    
  10.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd   
  11.            http://www.springframework.org/schema/context   
  12.            http://www.springframework.org/schema/context/spring-context-2.5.xsd   
  13.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd   
  14.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">   
  15.   
  16.  <context:annotation-config />   
  17.     <context:component-scan base-package="org.lgh.spring.transaction6" />   
  18.   
  19.     <tx:annotation-driven proxy-target-class ="true" transaction-manager="transactionManager"/>   
  20.   
  21.     <bean id="sessionFactory"     
  22.             class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">     
  23.         <property name="configLocation" value="classpath:hibernate.cfg.xml" />     
  24.         <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />   
  25.     </bean>     
  26.   
  27.     <!-- 定义事务管理器(声明式的事务) -->     
  28.     <bean id="transactionManager"  
  29.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">   
  30.         <property name="sessionFactory" ref="sessionFactory" />   
  31.     </bean>   
  32.   
  33.     <!-- 配置DAO -->   
  34.     <bean id="userDao" class="org.lgh.spring.transaction6.UserDaoImpl">   
  35.            
  36.         <property name="sessionFactory" ref="sessionFactory" />   
  37.     </bean>   
  38.        
  39. </beans>  
<?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: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/context
           http://www.springframework.org/schema/context/spring-context-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">

 <context:annotation-config />
    <context:component-scan base-package="org.lgh.spring.transaction6" />

    <tx:annotation-driven proxy-target-class ="true" transaction-manager="transactionManager"/>

    <bean id="sessionFactory"  
            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />  
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
    </bean>  

    <!-- 定义事务管理器(声明式的事务) -->  
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <!-- 配置DAO -->
    <bean id="userDao" class="org.lgh.spring.transaction6.UserDaoImpl">
    	
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
</beans>

 

 

所用到的jar如下:

 


 

 

 

分享到:
评论

相关推荐

    spring几种事务配置详解【精】

    spring几种事务配置,spring几种事务配置详解【精】

    Spring事务原理、Spring事务配置的五种方式

    Spring事务原理是指Spring框架中的一种机制,用于管理事务,并提供了多种配置方式。事务是指一系列的操作,作为一个整体执行,如果其中某个操作失败,整个事务将回滚。Spring事务原理围绕着两个核心:...

    Spring事务管理的几种配置方式,

    自己写的Spring事务管理的几种配置方式的Demo。 供新手学习!

    Spring事务五种不同的代理配置

    Spring事务配置的五种方式 ,根据代理机制的不同,总结了五种Spring事务的配置方式.

    Spring事务配置的五种方式

    对Spring的事务配置做了比较深入的研究,讲述了事务配置的几种方式和示例。

    ssh配置文件详解配置strts,spring,hibernate

    可以看到配置文件的步骤: 1、 配置数据源 ...4、 Spring中声明事务管理器(根据需要又可分为几种,但都要依赖注入上面的事务管理器,此外还需要配置transationAttributes) 后面的一些普通的bean配置就不用说了

    高级开发spring面试题和答案.pdf

    传播特性有几种?7种; 某一个事务嵌套另一个事务的时候怎么办? REQUIRED_NEW和REQUIRED区别 Spring的事务是如何回滚的,实现原理; 抽象类和接口的区别,什么时候用抽象类什么时候用接口; StringBuilder和...

    Spring面试题含答案.pdf

    25. 解释 Spring 支持的几种 bean 的作用域 26. Spring 框架中的单例 bean 是线程安全的吗? 27. 解释 Spring 框架中 bean 的生命周期 28. 哪些是重要的 bean 生命周期方法? 你能重载它们吗? 29. 什么是 Spring ...

    Spring面试题大全

    二、Spring中实现DI(Dependency Injection)的几种方式 在Spring框架中,实现DI的方式有三种: 1. 接口注入:在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。 2. ...

    SpringFramework常见知识点.md

    - Spring依赖注入的方式有几种? - 一个bean的定义包含了什么?(BeanDefinition) - bean的作用域有哪些? - Spring 的扩展点主要有哪些? - Spring如何解决循环依赖? - 事务的传播行为是什么?有哪些? - 什么是AOP...

    spring boot2.0以上版本整合mybatis+pagehelper+druid

    2)配置数据库连接、配置 Spring 事务 3)配置加载配置文件的读取,开启注解 4)配置日志文件 … n) 配置完成之后部署 tomcat 调试 可能你还需要考虑各个版本的兼容性,jar 包冲突的各种可行性。 那么使用 ...

    使用MyEclipse创建Spring Boot项目demo

    2)配置数据库连接、配置 Spring 事务 3)配置加载配置文件的读取,开启注解 4)配置日志文件 … n) 配置完成之后部署 tomcat 调试 可能你还需要考虑各个版本的兼容性,jar 包冲突的各种可行性。 那么使用 ...

    Spring基础与快速入门

    4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种 5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前...

    2023最新Spring全家桶面试题-图灵徐庶

    14. Spring支持的几种bean的作用域:包括singleton、prototype、request、session、global session等。 15. 单例bean的优势:可以减少对象的创建次数,提高应用程序的性能。 16. Spring实例化bean的方式:包括构造...

    SpringBoot面试题 44道.pdf

    13. 开启 Spring Boot 特性有哪几种方式? 1. 继承 spring-boot-starter-parent 项目 2. 导入 spring-boot-dependencies 项目依赖 14. SpringBoot 实现热部署有哪几种方式? 1. Spring Loaded 2. Spring-boot-...

    Spring in Action(第二版 中文高清版).part2

    6.1.2 理解Spring对事务管理的支持 6.2 选择事务管理器 6.2.1 JDBC事务 6.2.2 Hibernate事务 6.2.3 JPA事务 6.2.4 JDO事务 6.2.5 JTA事务 6.3 在Spring中编写事务 6.4 声明式事务 6.4.1 定义事务参数 ...

    Spring in Action(第二版 中文高清版).part1

    6.1.2 理解Spring对事务管理的支持 6.2 选择事务管理器 6.2.1 JDBC事务 6.2.2 Hibernate事务 6.2.3 JPA事务 6.2.4 JDO事务 6.2.5 JTA事务 6.3 在Spring中编写事务 6.4 声明式事务 6.4.1 定义事务参数 ...

    Spring in Action(第2版)中文版

    6.1.2理解spring对事务管理的支持 6.2选择事务管理器 6.2.1jdbc事务 6.2.2hibernate事务 6.2.3jpa事务 6.2.4jdo事务 6.2.5jta事务 6.3在spring中编写事务 6.4声明式事务 6.4.1定义事务参数 6.4.2代理事务 ...

    spring aop使用教程

    Spring AOP(Aspect-Oriented Programming)是一种编程技术,能够帮助开发者在软件系统中实现一些通用的功能,如日志记录、安全检查、事务管理等。下面是关于 Spring AOP 使用教程的详细知识点。 什么是 AOP? ...

    2022年Spring笔试考试题目.doc

    缝合的时机有几种时间点,分别是编译时期、类别加载时期和执行时期。 1.6 配置 Spring 中的 @AspectJ 时,需要配置 &lt;aop-aspectj-autoproxy&gt; 标签,以便 AOP 框架自动使用增强;该标签有一种 proxy-target-class ...

Global site tag (gtag.js) - Google Analytics