`
Java_Sky_Dynasty
  • 浏览: 3848 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring_DynamicProxy

阅读更多
Dynamic Proxy of Spring:
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class SecurityHandler implements InvocationHandler{

	private Object targetObj;
	
	
	public Object newProxy(Object targetObj) {
		this.targetObj = targetObj;
		return Proxy.newProxyInstance(targetObj.getClass().getClassLoader() ,
				 					  targetObj.getClass().getInterfaces() ,
				 					  this);
	}
	
	//实现了IncocationHandler接口,里面的一个方法.
	public Object invoke(Object proxy, Method method, Object[] args)
			throws Throwable {
		this.checkSecurity();
		Object result = null;
		result = method.invoke(this.targetObj, args);
		return result;
	}	
	
        //check security method
	private void checkSecurity() {
		System.out.println("-----------------SecurityHandler.checkSecurity()--------------");
	}
}
分享到:
评论

相关推荐

    08spring4_dynamicproxy.rar

    package cn.sxt.dynamicproxy; import java.util.ArrayList; import java.util.List; import cn.sxt.service.UserService; import cn.sxt.service.UserServiceImpl; public class Client { public ...

    SpringIOC,DI+dynamic proxy 实现盗版AOP

    本文将深入探讨如何使用Spring的IOC和DI特性,结合动态代理(Dynamic Proxy)来实现一种类似AOP(面向切面编程)的功能,以达到在不修改原有代码的情况下增强或拦截方法调用的目的。 **一、Spring IOC(控制反转)*...

    dt.zip_spring_www.dynamic-proxy.c

    标题"dt.zip_spring_www.dynamic-proxy.c"暗示了这个压缩包包含的是关于Spring框架动态代理的示例代码。"www.dynamic-proxy.c"可能是指一个特定的类或概念,但在这里,我们主要关注Spring框架的动态代理部分。 首先...

    spring_dynamic_proxy:基于接口基于子类的动态代理

    在Spring Dynamic Proxy模块中,`org.springframework.aop.framework.ProxyFactoryBean`和`org.springframework.aop.framework.ProxyFactory`是创建代理对象的主要工具。它们可以根据配置的拦截器链来创建代理,并且...

    SPRING案例

    - **动态代理**:`spring_dynamic_proxy`则展示了JDK动态代理和CGLIB动态代理。JDK动态代理基于接口生成代理类,而CGLIB是通过继承目标类来实现的,适用于不依赖接口的场景。 3. **与Hibernate集成**:`spring_...

    Spring笔记

    6. **spring_dynamic_proxy**、**spring_static_proxy**:这部分可能涉及到Spring的两种代理模式,即JDK动态代理和CGLIB静态代理,它们在实现AOP时起着重要作用。 7. **spring_autowrire_byName**:这部分是关于...

    spring小练习

    Spring的JdkDynamicProxy和Cglib就是静态代理的实现方式。 2. **动态代理(spring_AOP_2_dynamic)**:相比静态代理,动态代理在运行时生成代理,更加灵活。Spring的AspectJ库就提供了动态代理功能,可以在不修改...

    动态代理和工厂方法例子

    这里我们将深入探讨这两种模式,并结合提供的文件名,即“005_Factory_Series_DesignPattern”和“006_Dynamic_Proxy_Spring_AOP”,来分析它们的实现和应用。 首先,我们来看一下工厂方法设计模式。工厂方法是创建...

    spring学习笔记(八)

    【文件名称】"test_spring_dynamic_proxy"可能是一个测试用例,用于演示Spring动态代理的实际应用。这个测试可能会包含以下几个部分: 1. 创建一个被代理的目标对象,例如一个简单的业务服务类。 2. 定义一个通知类...

    java reflect and dynamic proxy .Java反射和动态代理

    **Java动态代理(Dynamic Proxy)** Java动态代理是Java提供的一种机制,可以在运行时创建具有特定接口的代理类。这通常用于实现AOP(面向切面编程)或事件处理等。主要由java.lang.reflect.Proxy和java.lang....

    spring 的自动代理

    这时,Spring 使用 JdkDynamicProxy 来创建代理,因为 JdkDynamicProxy 只能代理实现了接口的类。`myProxyForInterface` Bean 使用 `ProxyFactoryBean` 创建代理,指定了要代理的接口、使用的拦截器以及目标 Bean。 ...

    20190606_SpringAOP编程实现_田超凡.docx

    在`JDKDynamicProxy`类中,实现了`InvocationHandler`接口,并持有一个`HelloAop`对象。当调用代理对象的方法时,实际调用的是`InvocationHandler`的`invoke`方法。`invoke`方法可以控制在调用目标方法前后的行为,...

    Spring的静态代理和动态代理

    MyService dynamicProxy = (MyService) Proxy.newProxyInstance( MyService.class.getClassLoader(), new Class[]{MyService.class}, handler); dynamicProxy.doSomething(); ``` 在这个动态代理示例中,...

    反射实现 AOP 动态代理模式(Spring AOP 的实现 原理) - Java 例子 -

    在这个例子中,`DynamicProxy`实现了`InvocationHandler`接口,并在`invoke`方法中添加了前置和后置通知。`Proxy.newProxyInstance()`方法用于创建代理对象,传入目标对象的类加载器、目标对象实现的接口列表以及...

    spring框架各jar包详解

    CGLIB 用来生成动态代理类(dynamic proxy classes),供核心 DI 和 AOP 实现之用。由于大量 Spring 功能的实现都要用到 CGLIB,因此你的应用几乎总需包含 CGLIB。 coscos.jar COS 代表 com.oreilly.servlet,是个...

    java中动态代理,springAop.pdf

    例如在`DynamicProxy`类中,`invoke()`方法接收三个参数:代理对象、被调用的方法以及方法参数。在这个方法里,我们可以添加额外的行为,比如在调用实际方法前进行安检(`chark()`方法)。 2. **Proxy类**:`Proxy....

    spring03-4

    在"1606SpringDay03-4-DynamicProxy"这个文件中,可能包含了关于Spring动态代理的详细教程或示例代码。这些内容可能涵盖了如何创建`InvocationHandler`,如何使用`Proxy.newProxyInstance`生成代理对象,以及如何在`...

Global site tag (gtag.js) - Google Analytics