zoukankan      html  css  js  c++  java
  • SSM-Spring-08:Spring的静态代理初窥案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

    静态代理

      java的设计模式的代理模式,就是静态代理

      写在前面的话,静态代理的优点和缺点

        优点:可以在不改变一个类的方法下,对这个类的方法进行增强

        缺点:静态代理需要创建物理文件,在想实现多个静态代理的操作,就需要好多的物理文件,不太优良

    实现案例:

      Subject接口:抽象主题的接口,有一个方法

    package cn.dawn.day08proxy;
    
    /**
     * Created by Dawn on 2018/3/6.
     */
    public interface Subject {
        public void request();
    }

      RealSubject类:真实主题的类,实现上面的Subject接口,实现他的方法

    package cn.dawn.day08proxy;
    
    
    /**
     * Created by Dawn on 2018/3/6.
     */
    public class RealSubject implements Subject {
        public void request() {
            System.out.println("request本身——————————————————————————————-");
        }
    }

      ProxySubject类:代理主题的类,同样实现Subject接口,里面有个Subject的接口的实例对象,他的get/set方法,还有新的方法,对真实主题进行静态的增强

    package cn.dawn.day08proxy;
    
    /**
     * Created by Dawn on 2018/3/6.
     */
    public class ProxySubject implements Subject {
        Subject subject;
        public void request() {
            System.out.println("before");
            subject.request();
            System.out.println("after");
    
        }
    
        public Subject getSubject() {
            return subject;
        }
    
        public void setSubject(Subject subject) {
            this.subject = subject;
        }
    }

      单测方法:

    package cn.dawn.day08proxy;
    
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    /**
     * Created by Dawn on 2018/3/3.
     */
    public class test20180306 {
    
    
        @Test
        /*di注解注入*/
        public void t01(){
            Subject realSubject=new RealSubject();
    
            ProxySubject proxySubject=new ProxySubject();
            proxySubject.setSubject(realSubject);
            proxySubject.request();
    
            //realSubject.request();
        }
    }
  • 相关阅读:
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Navicat查询哪些表有指定字段名
  • 原文地址:https://www.cnblogs.com/DawnCHENXI/p/8516230.html
Copyright © 2011-2022 走看看