关于aop对静态方法的织入问题

问题描述

假设有一个工具类,类里面的方法都是声明称静态,这个时候能否通过aop来对这些静态方法进行织入呢?  问题补充:那有没有办法对静态方法进行类似的监控?另外刚又碰到个问题,在一个对象内的某个方法,假设为a,它是被该对象内的另外一个方法调用的,这个时候,是否也是没办法对这个a方法做aop处理的?

解决方案

不行,以为静态方法是 静态绑定,办不到

时间: 2024-09-13 18:55:37

关于aop对静态方法的织入问题的相关文章

aspectj-AspectJ切点函数 target()的this()问题,在引介增强类时无法织入增强

问题描述 AspectJ切点函数 target()的this()问题,在引介增强类时无法织入增强 配置:aop:aspectj-autoproxy/ 接口: public interface Waiter { public void greetTo(String clientName);public void serveTo(String clientName); } public interface Seller { int sell(String goods String clientNam

spring学习笔记(12)@AspectJ研磨分析[3]增强织入顺序实例详解

增强的织入顺序 当一个连接点同时织入多个增强时,就存在顺序调用问题: 1. 增强在同一个切面类中定义:依照增强在切面类中定义的顺序依次织入. 2. 增强位于不同的切面,但果这些切面都实现了org.springframework.core.Ordered 接口,则由接口注解的顺序号决定,顺序号越小,对于不同的增强,织入顺序为: 1. 前置增强->越先织入 2. 后置增强->越后织入 3. 最终增强->越后织入 4. 环绕增强->调用原方法之前的部分先织入,调用原方法之后的部分后织入

Spring beans架构设计原理--set注入

Java Beans Spring管理对象是以bean为颗粒度,在最初设计时其实是特指Java beans,因此之前的注入也几乎是清一色的set注入,直到聪明的大脑们引入了Annotation后两者才有了明显差异,慢慢进化出Spring特有的bean规范. 本篇先从设计者的初衷Java Beans开始,理清楚set的注入原理,然后再(如)往(果)下(有)探(时)寻(间)Annotation注入. Java beans规范主要有三点: 有一个公有的无参构造器 属性可以通过get.set.is(可以

最全面的Spring学习笔记

pring致力于提供一种方法管理你的业务对象.在大量Java EE的应用中,随处可见Spring.今天我将简单的介绍一下Spring这个框架. 本文适合读者: 想学Spring的Java开发者 刚用Spring不久的人 Why 为什么要使用Spring? Spring主要两个有功能为我们的业务对象管理提供了非常便捷的方法: DI(Dependency Injection,依赖注入) AOP(Aspect Oriented Programming,面向切面编程) Java Bean 每一个类实现了

第三章 AOP 通过Java API创建切面

    在前面使用增强的时候,我们发现增强会被织入到目标类的所有的方法中.我们如果把增强织入到目标类的特定的方法中,需要使用切点进行目标连接点的定位.然后我们可以通过切点及增强生成一个切面了. 3.4.1切点类型 静态方法切点:org.springframework.aop.support.StaticMethodMatcherPointcut 动态方法切点:org.springframework.aop.support.DynamicMethodMatcherPointcut 注解切点:org

第三章 AOP 基于Schema的AOP

        基于Schema定义的切面和前现两种方式定义的切面,内容上都差不多,只是表现形式不一样而已. 3.7.1一般增强的使用 a.目标类 public class Target { public void say(){ System.out.println("say..."); } public String getName(int id,String name){ System.out.println("getName..."); return &quo

我要造轮子之基于JDK的AOP实现

1 前言 Aspect Oriented Programing,面向切面编程. 利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. AOP主要用于日志记录,性能统计,安全控制(权限控制),事务处理,异常处理等.将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码. 像Spring

Spring AOP之ThrowsAdvice

目前的项目中接触了一些Spring的AOP的部分,比如声明式事务管理.在了解了AOP在Spring的实现之后,的确发现这种新的编程思路确实为我们提供用一种新的思路解决问题的办法.为了记录这个学习过程,整理一下学习的笔记.   1.  几个重要的概念(详细的情况参见Spring的在线文档)   ·         PointCut:一组JointPoint.在Spring中我们可以通过一些正则表达式定义那些JointPoint组成了我们需要的一个PointCut,从而使我们的Advice可以被编制

使用 AOP 来维护遗留 Java 应用程序

程序 处理复杂和不熟悉 Java 代码的技术级别:中级 Abhijit Belapurkar(abhijit_belapurkar@infosys.com)高级技术架构师,Infosys Technologies Limited2004 年 3 月 如果您曾经接管并且必须维护某个基于 Java 的应用程序,那么本文就是为您准备的.作者 Abhijit Belapurkar 将向您展示如何使用面向方面编程(aspect-oriented programming,AOP)来对即使最不透明的遗留应用程