在Spring的声明式事务管理中,关于TransactionProxyFactoryBean类的几点问题
TransactionProxyFactoryBean是什么时候被实例化的?它的实例在哪里被使用?是如何使用的?有何具体行为?...
TransactionProxyFactoryBean是什么时候被实例化的?它的实例在哪里被使用?是如何使用的?有何具体行为?
展开
2个回答
展开全部
问题1:TransactionProxyFactoryBean在拦截器成功拦截到数据库请求的时候被实例化的,其实这也就是所谓的反向控制(你叫它依赖注入也行)。
问题2:TransactionProxyFactoryBean在拦截器成功拦截到数据库请求的时候被使用。
问题3:TransactionProxyFactoryBean在拦截器成功拦截到数据库请求后,会自动将该数据库操作加上事务控制。
问题3:成功时提交事务,失败时回滚事务。
<!-- 定义TransactionProxyFactoryBean,该bean是个bean后处理器,无需被引用,因此没有id属性-->
<bean class="org.springframework.aop.framework.autoproxy.TransactionProxyFactoryBean">
<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>*Dao</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义TransactionProxyFactoryBean所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- 此处可增加其他新的Interceptor -->
</list>
</property>
</bean>
问题2:TransactionProxyFactoryBean在拦截器成功拦截到数据库请求的时候被使用。
问题3:TransactionProxyFactoryBean在拦截器成功拦截到数据库请求后,会自动将该数据库操作加上事务控制。
问题3:成功时提交事务,失败时回滚事务。
<!-- 定义TransactionProxyFactoryBean,该bean是个bean后处理器,无需被引用,因此没有id属性-->
<bean class="org.springframework.aop.framework.autoproxy.TransactionProxyFactoryBean">
<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>*Dao</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义TransactionProxyFactoryBean所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- 此处可增加其他新的Interceptor -->
</list>
</property>
</bean>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询