AOP

Posted lcj12121

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AOP相关的知识,希望对你有一定的参考价值。

第一随记:

      在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的主要内容,如果未能解决你的问题,请参考以下文章

AOP是啥意思?

Aop笔记。

AOP面向切面编程思想。

初识Aop和扩展Aop

Spring AOP快速入门详解

Spring AOP快速入门详解