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