`

AOP 深入了解

阅读更多
具体深入详解:
http://www.iteye.com/topic/480860

AOP
代理实现方式:java.lang.reflect.Proxy

实现步骤:
1、继承import java.lang.reflect.InvocationHandler

具体代码:
package com.royzhou.aop;  
 
import java.lang.reflect.InvocationHandler;  
import java.lang.reflect.Method;  
import java.lang.reflect.Proxy;  
 
public class JDKProxy implements InvocationHandler {  
      
    private Object targetObject;  
      
    public Object createProxyObject(Object targetObject) {  
        this.targetObject = targetObject;  
        //生成代理对象  
        return Proxy.newProxyInstance(this.targetObject.getClass().getClassLoader(),this.targetObject.getClass().getInterfaces(),this);  
    }  
 
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {  
        UserBean userBean = (UserBean) targetObject;  
        String userName = userBean.getUserName();  
        Object result = null;  
        //权限判断  
        if(userName!=null && !"".equals(userName)) {  
            //调用目标对象的方法  
            result = method.invoke(targetObject, args);  
        }   
        return result;  
    }  
}

2、调用
package com.royzhou.aop;  
 
public class TestProxy {  
      
    public static void main(String[] args) {  
        JDKProxy jProxy = new JDKProxy();  
        IUserBean userBean = (IUserBean) jProxy.createProxyObject(new UserBean("royzhou"));  
        userBean.addUser();  
    }  







分享到:
评论

相关推荐

    ioc AOP深入了解

    ### IoC (Inversion of Control) 深入理解 #### 一、IoC 基础 IoC,即控制反转,是一种设计思想,在软件工程领域被广泛应用于解决对象间依赖关系的问题。传统的编程模式中,对象创建自身依赖的对象并调用它们,而...

    深入理解Android之AOP

    在本篇中,我们将深入探讨AOP的基本概念、优势以及在Android开发中的应用,同时与OOP进行比较分析。 首先,面向对象编程(OOP)是一种通过对象来思考问题和组织程序的方法,它把问题分解为各种各样的对象,而对象则...

    Spring aop 深入剖析.docx

    【Spring AOP 深入剖析】 Spring AOP(面向切面编程)是...通过深入理解Spring AOP的工作原理和关键概念,开发者可以更好地利用它来管理和组织业务代码,提高代码的可维护性和可扩展性,实现更高效、灵活的系统设计。

    Android深入理解Aop

    阿拉神农博客《Android深入理解Aop》的PDF版,也可以在https://blog.csdn.net/innost/article/details/49387395 该网站中直接观看,也可以下载下来保存

    spring-aop.rar

    《Spring AOP 深入理解与应用》 在Java世界中,Spring框架以其强大的功能和易用性,成为企业级应用开发的首选。而Spring AOP(Aspect Oriented Programming,面向切面编程)作为Spring框架的重要组成部分,为开发者...

    aopalliance-1.0.jar及aopalliance源码

    通过阅读源码,我们可以深入了解这些接口的具体实现和设计意图。例如,可以查看`MethodInterceptor`接口如何被具体的AOP框架实现,如Spring AOP或AspectJ,以及它们如何利用`MethodInvocation`来控制方法的调用流程...

    SpringAOP.zip

    《Spring AOP 深入理解与应用》 在Java EE开发中,Spring框架因其强大的功能和灵活性,已经成为事实上的标准。Spring AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它提供了一种...

    AOP思想深入学习的资料

    深入学习AOP,你需要理解以下几个关键点: - AOP的历史背景和动机,以及它如何改进传统OOP的不足。 - 常见的AOP实现,如Spring AOP和AspectJ,它们的工作原理和使用方式。 - 如何定义和配置切面,包括编写通知和定义...

    spring-boot aop

    这个`spring-aop`示例项目很可能会包含上述步骤的实现,通过阅读源代码,我们可以更深入地理解Spring Boot AOP的使用。同时,它可能还会展示如何结合实际业务逻辑,比如服务层的方法调用,来演示AOP如何优雅地注入...

    aopalliance

    本文将深入探讨AOPAlliance的核心概念、其在Spring 2.0中的应用以及如何通过aopalliance.jar和javadoc进行学习。 一、AOPAlliance简介 AOPAlliance是一个开源项目,旨在为不同的AOP实现提供一个共同的接口,以便于...

    仿springAOP框架

    **仿Spring AOP框架详解** 在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱,其中AOP(面向切面编程)是其核心特性之一...对于希望深入了解和使用AOP的Java开发者来说,这是一个不可多得的学习资源。

    spring-aop源码

    导入Spring AOP源码到Eclipse工程后,可以通过调试和阅读源码,了解通知的创建、切点的匹配、代理的生成等核心流程,进一步理解Spring AOP的工作原理。 总结,Spring AOP源码的探索有助于开发者深入理解面向切面...

    Spring AOP面向方面编程原理:AOP概念

    ### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)...对于希望深入了解Spring AOP原理与实践的读者来说,掌握以上概念将是开启面向方面编程之旅的第一步。

    AOP 和WCF 例子

    通过查看和运行这个项目,开发者可以深入理解AOP如何与WCF服务协作,从而在实际项目中灵活应用这两种技术。 为了更深入地学习AOP和WCF,你可以参考链接中的博客文章(由于链接已过期,可能需要通过互联网搜索最新的...

    IOC和AOP深刻理解基础代码测试

    总之,通过这个基础测试项目,初学者可以深入了解Spring框架如何实现IOC和AOP,从而更好地应用于实际的Java Web开发中,提高代码质量,降低维护成本。记住,理论结合实践是学习的关键,动手操作这些示例代码,将会对...

    spring-aop-jar

    这里我们将深入探讨Spring AOP、相关jar文件以及它们在实际开发中的作用。 首先,我们来看一下提供的文件: 1. aopalliance.jar:这是一个小型库,定义了面向切面编程的基本接口。它被许多AOP框架使用,包括Spring...

    aopalliance-1.0.rar

    《AOP Alliance 1.0:Java中的面向切面编程集成框架》 AOP Alliance是一个在Java生态中广泛使用的...对于任何希望提升应用程序设计灵活性和模块化的Java开发者来说,深入理解和掌握AOP Alliance 1.0都是至关重要的。

    Spring AOP完整例子

    在本教程中,我们将深入探讨Spring AOP的不同使用方法,包括定义切点、通知类型、组装切面以及使用JUnit4进行测试。 首先,我们需要理解Spring AOP的基础概念。AOP的核心是切点(Pointcut),它定义了关注点在何处...

    aopalliance-1.0.jar & aopalliance-1.0-src.jar

    而包含的源代码则为开发者提供了宝贵的资源,帮助他们更深入地理解AOP概念,提高开发效率和代码质量。在实际项目中,合理利用AOP Alliance的接口和aopalliance-1.0.jar,可以构建出更加健壮、可维护的系统。

    aopalliance.jar

    《aopalliance.jar在Spring 3.0中的核心作用及理解》 在Java开发领域,Spring框架无疑是最为广泛使用的轻量级框架之一。在Spring 3.0版本中,aopalliance.jar扮演了至关重要的角色。本文将深入探讨aopalliance.jar...

Global site tag (gtag.js) - Google Analytics