一直以为spring的ioc容器生成的对象都是代理对象,其实这个是错误的。spring ioc默认的都是原生对象  只有通过aop增强的对象才是代理对象

有@Transactional  注解或者配置文件

<aop:config>
   <aop:pointcut id="txPointcut" expression="execution(* com..service.impl.*.*(..))" />
   <aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice" />
</aop:config>

有配置接口aop增强的类   得到的对象都是代理对象。

设置cglib动态代理针对于类的:

<aop:aspectj-autoproxy proxy-target-class="true"/>

注意:事物的传播机制也只有是代理对象操作的方法才起作用  

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐