码迷,mamicode.com
首页 > 其他好文 > 详细

AOP

时间:2019-08-25 14:16:45      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:jdk动态代理   alc   接口   bean   app   cli   style   ica   ext   

第一随记:

      在aop中,对于是否用Clib或者用JDK动态代理,是根据目标类是否存在实现接口,如果实现接口就会用JDK,r如果未实现接口,就会

     Cglib,但是为了解耦和,大部分都会用目标类实现接口即用JDK动态代理,因此在使用Spring 时,在从容器中获取代理对象时就要注意了

1. JDK :目标类与代理类时同级关系(兄弟关系),所以获取的代理对象类型不能使目标类行,而应该是接口类型

 ApplicationContext ac = new ClassPathXmlApplicationContext("com/abc/test8/myThree/applicationContext.xml");
     //此处为JDK代理
        Calculator proxy = ac.getBean("calculatorImpl",Calculator.class);
        String name = proxy.getClass().getName();
        System.out.println(name);

2.Cglib:这个直接可以获取目标类型

   ApplicationContext ac = new ClassPathXmlApplicationContext("com/abc/test8/myThree/applicationContext.xml");
        CalculatorImpl proxy =ac.getBean(CalculatorImpl.class);
        String name = proxy.getClass().getName();
        System.out.println(name);

 

AOP

标签:jdk动态代理   alc   接口   bean   app   cli   style   ica   ext   

原文地址:https://www.cnblogs.com/lcj12121/p/11407670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!