JDK动态代理生成代理类对象,有个前提条件是,目标对象必须实现接口,也就是说目标对象没有接口,是无法通过JDK动态代理生成代理类对象。那这时一个没有接口的目标对象能不能产生代理类对象呢?答案是:可以的! 可以生成它的子类,这个子类也作为代理类,我们称为子类代理。
需求:和JDK动态代理的一样,也希望在CustomerServiceImpl的save,update方法执行之前记录日志。
1.Cglib的支持包
asm.jar
cglib-2.1.3.jar
2.编写UserService的目标对象
package com.yiidian.service;
/**
* 这个类在AOP属于目标对象(Target)
* 注意:该类没有实现任何接口
* @author zslaa
*
*/
public class UserService{
public void save() {
System.out.println("执行save方法");
}
public void update() {
System.out