Code Bye

spring aop配置

我在ssh项目中用到了aop配置
但是这一段代码不知道是干什么的
<tx:advice id=”txAdvice” transaction-manager=”transactionManager”>
<tx:attributes>
<tx:method name=”create*” propagation=”REQUIRED” />
<tx:method name=”insert*” propagation=”REQUIRED” />
<tx:method name=”update*” propagation=”REQUIRED” />
<!–hibernate4必须配置为开启事务 否则 getCurrentSession()获取不到 –>
<tx:method name=”get*” propagation=”REQUIRED” read-only=”true” />
<tx:method name=”count*” propagation=”REQUIRED” read-only=”true” />
<tx:method name=”find*” propagation=”REQUIRED” read-only=”true” />
<tx:method name=”list*” propagation=”REQUIRED” read-only=”true” />
<tx:method name=”*” read-only=”true” />
</tx:attributes>
</tx:advice>

<aop:config proxy-target-class=”true”>
<aop:advisor
pointcut=”(execution(* com.citycard.dao.impl.*.*(..))) OR execution(* com.citycard.dao.impl.*.*(..))”
advice-ref=”txAdvice” />
</aop:config>
能大致解释一下这一段是干嘛的吗,网上说这是spring声明式管理事务?这个是什么意思。
propagation=”REQUIRED”网上说这个 代表支持当前事务,如果当前没有事务,就新建一个事务这个又是什么意思?太模糊了能说的简单一点吗?


40分
<tx:advice id=”txAdvice” transaction-manager=”transactionManager”>
*****
</tx:advice>
这个是定义事务管理器(只是定义规则,没有生效),
也就是spring要管理那些方法的事物,以及怎么管理
<aop:config proxy-target-class=”true”>
***
</aop:config>
这个是spring的面向切面,就是把刚刚的规则用到什么地方。

propagation=”REQUIRED”网上说这个 代表支持当前事务,如果当前没有事务,就新建一个事务这个又是什么意思?
意思就是spring在管理事务的时候,如果当前连接中没有开启事务,就开启一个,有的话就用当前的。这句话我觉得已经非常明了了啊

引用 1 楼 buzilong 的回复:

<tx:advice id=”txAdvice” transaction-manager=”transactionManager”>
*****
</tx:advice>
这个是定义事务管理器(只是定义规则,没有生效),
也就是spring要管理那些方法的事物,以及怎么管理
<aop:config proxy-target-class=”true”>
***
</aop:config>
这个是spring的面向切面,就是把刚刚的规则用到什么地方。

propagation=”REQUIRED”网上说这个 代表支持当前事务,如果当前没有事务,就新建一个事务这个又是什么意思?
意思就是spring在管理事务的时候,如果当前连接中没有开启事务,就开启一个,有的话就用当前的。这句话我觉得已经非常明了了啊

不好意思,回复得有点晚,那这个是不是就意味着我在dao的实现层使用insert,update之类的方法时,就不用
Transaction trans = session.beginTransaction();
然后trans.commit()了吗?它的作用在于这个吗。

引用 2 楼 q455295165 的回复:
Quote: 引用 1 楼 buzilong 的回复:

<tx:advice id=”txAdvice” transaction-manager=”transactionManager”>
*****
</tx:advice>
这个是定义事务管理器(只是定义规则,没有生效),
也就是spring要管理那些方法的事物,以及怎么管理
<aop:config proxy-target-class=”true”>
***
</aop:config>
这个是spring的面向切面,就是把刚刚的规则用到什么地方。

propagation=”REQUIRED”网上说这个 代表支持当前事务,如果当前没有事务,就新建一个事务这个又是什么意思?
意思就是spring在管理事务的时候,如果当前连接中没有开启事务,就开启一个,有的话就用当前的。这句话我觉得已经非常明了了啊

不好意思,回复得有点晚,那这个是不是就意味着我在dao的实现层使用insert,update之类的方法时,就不用
Transaction trans = session.beginTransaction();
然后trans.commit()了吗?它的作用在于这个吗。

是的

建议你先去了解aop及spring事务管理再来看这段配置,这里面涉及的知识可有得说了
不好意思,今天登陆才发现还没结贴2楼说得很好,谢谢大家了!

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明spring aop配置