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();
        }
    }
  • 相关阅读:
    继承---原型式继承
    CSS中可继承的属性
    函数定义相关
    现代密码学(对称密码——第一部分)
    数据结构练习题(1)
    数据结构与算法(线性表)
    数据结构与算法(绪论)
    大英四期中单词复习
    计算机组成原理_verilog学习_实验二答案(原创)
    现代密码学——第2章古典密码学
  • 原文地址:https://www.cnblogs.com/DawnCHENXI/p/8516230.html
Copyright © 2011-2022 走看看