zoukankan      html  css  js  c++  java
  • Spring(五)静态代理

    1、需要知道核心类(被代理类)是哪一个类,并且有什么方法。 

    2、非核心的代码需要重复写多次,显得代码的结构臃肿,形成代码冗余。

    3、非核心类(代理类)需要实现核心类(被代理类)实现的接口,也就是他们需要实现共同的接口,但是以核心类实现的接口(被代理类)为准。

    下面通过一个例子来说明

    先声明一个主题接口,接口的实现类有两个一个是真实主题,一个是代理主题

    public interface Subject
    {
    public void request();
    }

    在实现类中要重写这个方法

    public class RealSubjext implements Subject{
    public void request() {
    System.out.println("11111");
    }
    }

    public class ProxySubjext implements Subject{


    RealSubjext realSubjext = new RealSubjext();
    public void request() {
    System.out.println("00000");
    realSubjext.request();
    System.out.println("22222");
    }
    public RealSubjext getRealSubjext() {
    return realSubjext;
    }

    public void setRealSubjext(RealSubjext realSubjext) {
    this.realSubjext = realSubjext;
    }
    }

    /*静态代理*/
    @Test
    public void t1(){
    RealSubjext realSubjext = new RealSubjext();
    ProxySubjext proxySubjext = new ProxySubjext();
    proxySubjext.setRealSubjext(realSubjext);
    proxySubjext.request();


    }
  • 相关阅读:
    react 踩坑第一天
    vue-cli+axios+跨域
    vuex 进阶 mapState mapGetter mapActions mapMutations
    vue Bus
    各种html布局
    echarts柱状图设置渐变色
    html设置一个当前时间
    css设置字体渐变色
    C++中指针与引用详解
    go-admin 开源后台管理系统
  • 原文地址:https://www.cnblogs.com/a157/p/8526343.html
Copyright © 2011-2022 走看看