SSM-Spring-08:Spring的静态代理初窥案例

简介:   ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------     静态代理   java的设计模式的代理模式,就是静态代理   写在前面的话,静态代理的优点和缺点     优点:可以在不改变一个类的方法下,对这个类的方法进行增强     缺点...

 

 

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

 

 

静态代理

  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();
    }
}

 

目录
相关文章
|
4月前
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
2月前
|
存储 缓存 Java
Spring高手之路23——AOP触发机制与代理逻辑的执行
本篇文章深入解析了Spring AOP代理的触发机制和执行流程,从源码角度详细讲解了Bean如何被AOP代理,包括代理对象的创建、配置与执行逻辑,帮助读者全面掌握Spring AOP的核心技术。
53 3
Spring高手之路23——AOP触发机制与代理逻辑的执行
|
1月前
|
Java Maven Spring
Spring 小案例体验创建对象的快感
本文介绍了如何在IDEA中创建一个Spring项目,包括项目创建、配置pom.xml文件以引入必要的依赖、编写实体类HelloSpring及其配置文件applicationContext.xml,最后通过测试类TestHelloSpring展示如何使用Spring的bean创建对象并调用方法。
35 0
|
3月前
|
设计模式 Java 测试技术
spring复习04,静态代理动态代理,AOP
这篇文章讲解了Java代理模式的相关知识,包括静态代理和动态代理(JDK动态代理和CGLIB),以及AOP(面向切面编程)的概念和在Spring框架中的应用。文章还提供了详细的示例代码,演示了如何使用Spring AOP进行方法增强和代理对象的创建。
spring复习04,静态代理动态代理,AOP
|
3月前
|
设计模式 Java Spring
spring源码设计模式分析-代理设计模式(二)
spring源码设计模式分析-代理设计模式(二)
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
5月前
|
缓存 安全 Java
Spring高手之路21——深入剖析Spring AOP代理对象的创建
本文详细介绍了Spring AOP代理对象的创建过程,分为三个核心步骤:判断是否增强、匹配增强器和创建代理对象。通过源码分析和时序图展示,深入剖析了Spring AOP的工作原理,帮助读者全面理解Spring AOP代理对象的生成机制及其实现细节。
57 0
Spring高手之路21——深入剖析Spring AOP代理对象的创建
|
4月前
|
缓存 安全 Java
Spring AOP 中两种代理类型的限制
【8月更文挑战第22天】
39 0
|
4月前
|
Java Spring
|
4月前
|
安全 Java 开发者