Spring AOP: proxy-target-class 值的意思

Spring  AOP中,有个选项如下:

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

  注意:proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。

如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。

如果proxy-target-class属值被设置为false或者这个属性被省略,那么标准的JDK 基于接口的代理。

如果不给出 proxy-target-class,就按 proxy-target-class=“false”对待,也即是按JDK proxy来处理的。

调用getClass() API,就会得到如下的结果:

For JDK proxy, output is:    com.sun.proxy.$Proxy12

for CGlib proxy,output is:    class salesdepart.service.app.SalesDepartEmployee$$EnhancerBySpring CGLIB $ $ 397e3c56
 

你可能感兴趣的:(spring,AOP)