aop实现

在这里插入图片描述

代理分JDK动态代理(代理接口)和CGLIB代理(代理具体类),CGLIB代理是目标对象的子类
aop代理就是由aop框架动态生成的一个对象,spring的aop代理大都由ProxyFactoryBean工厂类产生,配置ProxyFactoryBean需要如下两个属性:1.代理的目标对象 2.处理(Advice)
一、代理接口
实例:基于AOP的权限认证
1.Service组件接口
public interface TestService
{
void view();
void modify();
}
2.Service接口实现类
public class TestServiceImpl implements TestService
{
public void view()
{
System.out.println(“查看数据”);
}
public void modify()
{
System.out.println(“修改数据”);
}
}
3.拦截器类
public class AuthorityInterceptor implements MethodInterceptor
{
private User user;
public void setUser(User user)
{
this.user=user;
}
//必需实现的方法
public Object invoke(MethodInvocation invocation) throws Throwable
{
String methodName=invocation.getMethod().getName();
if(!user.equals("admin) && !user.equals(“registedUser”))
{
System.out.println(“您无权查看”);
return null;
}
else if(user.equals(“registedUser”) && methodName.equals("modify))
{
System.out.println(“您不是管理员,无权修改”);
return null;
}
else
{
return invocation.proceed();
}
}

4.spring 配置文件
//1.配置目标bean

//2.配置拦截器



//3.配置代理工厂Bean,产生aop代理

//4.指定aop代理所实现的接口

//5.指定aop代理所代理的目标bean

//6.指定aop代理所需要的拦截器列表


authorityInterceptor


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值