一、自动代理
<!-- 自动代理方式一  -->
<!-- <aop:aspectj-autoproxy /> -->
<!-- 自动代理方式二  -->
<!--     <bean  class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator"/>-->

二、利用<aop:config>

<!-- <aop:config> 利用普通Bean实现切面 -->
   < aop:config >
     < aop:pointcut expression ="execution(* getContext(..) ) and within(cn.aop.aspect.service.*) and target(obj) and this(proxy) and args(str)" id ="before" />  
     < aop:aspect ref ="loggingBeforeAspectBean" >
       < aop:before method ="beforeAspect" pointcut-ref ="before" />
     </ aop:aspect >    
     < aop:aspect ref ="loggingAfterReturningAspectBean" >
       < aop:after-returning method ="afterReturningAspect" pointcut-ref ="before"     returning ="retur" />
     </ aop:aspect >
       < aop:aspect ref ="loggingAroundAspectBean" >
       < aop:around method ="aroundAspect" pointcut-ref ="before"     />
     </ aop:aspect >
     < aop:aspect     ref ="loggingAfterThrowingBean" >
       < aop:after-throwing method ="afterThrowingAspect" pointcut-ref ="before" throwing ="thro" />
     </ aop:aspect >
     < aop:aspect ref ="introduction" >
       < aop:declare-parents types-matching =" cn.aop.aspect.service.*"     implement-interface ="cn.aop.aspect.itf.IntroITF"     default-impl ="cn.aop.aspect.itf.impl.IntroImpl"     />
     </ aop:aspect >
   </ aop:config >



第三、 AspectJProxyFactory 、自动代理、<aop:config> 之间冲突只能用其一