A. CGLIB代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口 B. 如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理 CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需要的包 D. Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理
A. (前面+@)Aspect用于定义一个切面 B. (前面+@)Pointcut用于定义切入点表达式 C. (前面+@)Before用于定义前置通知,相当于BeforeAdvice D. (前面+@)After用于定义后置通知,相当于AfterReturningAdvice