spring对AOP的支持

spring对AOP的支持
 
  * 如果目标类实现了接口,默认采用JDK动态代理来实现AOP
  * 如果目标类没有实现接口,必须添加CGLIB支持,Spring会自动的在JDK和CGLIB代理之间切换
  * 如果目标类实现了接口,可以定义让spring强制使用CGLIB代理

  如何强制使用CGLIB代理实现AOP
  * 将<aop:config>定义为<aop:config proxy-target-class="true">,
    并且要引入CGLIB包:SPRING_HOME\lib\cglib\*.jar  


代理模式示意:   

public interface UserManager() {
 public  void addUsder();
}

public class UserManangerImpl implements UserManager {

 public  void addUsder() {
  System.out.pritnln("-------------");
 }
}


public class UsermanangerImplProxy implements UserManager {
 
 private UsermanangerImpl usermanangerImpl  

 public  void addUsder() {
  checkSecurity();
  usermanangerImpl.addUser();
 }

 privatecheckSecurity() {
 ///
 }
}
   

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