Spring框架Day03(AOP面向切面编程)

一.代理模式

(springAOP和SpringMVC面试重点!)
代理模式的分类:

  • 静态代理

  • 动态代理
    (1)静态代理
    角色分析
    在这里插入图片描述

  • 抽象角色:一般使用接口或者抽象类来解决

  • 真实角色:被代理的角色

  • 代理角色:代理真实角色,代理真实角色后,一般会做一些附属操作

  • 客户:访问代理对象的人
    在这里插入图片描述

  1. 用户只关心接口功能,而不在乎谁提供了功能。上图中接口是 Subject。
  2. 接口真正实现者是上图的 RealSubject,但是它不与用户直接接触,而是通过代理。
  3. 代理就是上图中的 Proxy,由于它实现了 Subject 接口,所以它能够直接与用户接触。
  4. 用户调用 Proxy 的时候,Proxy 内部调用了 RealSubject。所以,Proxy 是中介者,它可以增强 RealSubject 操作。
    代码示例
    service
public interface service {
   
    public void add();
    public void delete();
    public void search();
    public void update();
}

serviceImpl

public class serviceImpl implements service{
   
    //service service =new serviceImpl();
    public void add() {
   
        System.out.println("add");
    }
public void delete() {
   
        System.out.println("delete");
    }
public void search() {
   
        System.out.println("serach");
    }
 public void update() {
   
        System.out.println("update");
    }
}

proxy
因为设计原则是在尽量不改变源代码的情况下进行修改

//创建对象
    private serviceImpl serviceimpl;
    public void setServiceimpl(serviceImpl serviceimpl) {
   
        this.serviceimpl = serviceimpl;
    }
    public void add() {
   
        log("add");
        serviceimpl.add();
    }

    @Override
    public void delete() {
   
        log(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值