传统的AOP(纵向继承)与SpringAOP(横向抽取机制)
传统的AOP(纵向继承)
public class UserDaoImpl implements UserDao{
void save(User user){
checkPrivilege()
//保存用户
}
void checkPrivilege(){}
}
不可能所有的类里面有去实现check方法 ,所有就有纵向继承
public class BaseDaoImpl{
public void checkPrivilege(){}
}
public void UserDaoImpl extends BaseDaoImpl{
public void save(User user){
checkPrivilege();
}
}
SpringAOP(横向抽取机制)
public class UserDaoImpl implements UserDao{
void save(User user){
//保存用户
}
void checkPrivilege(){}
}
UserDaoImpl--------------------------------->Proxy 代理机制
AOP相关的术语
详解