spring AOP能获取目标方法中的对象吗?

比如我controller类中有一个方法
public void getsdffg(....){
//dosomething
List list
}
能通过切面拿到这个list对象吗?

0

8个回答

不能,方法体内编译的时候已经转换为栈式的指令了.反射也没法获取元数据

0

只能获取到方法的参数和返回值,如果需要使用list对象,可以把它当作返回值。

0

只能获取方法参数,和方法返回值,或者list来自线程本地对象ThreadLocal,这样线程内都可以获取

0

不能,可以获取入参和返回值,你可以把对象return

0

spring aop获取目标对象的方法对象 https://blog.csdn.net/jianzhongqing/article/details/13761789

0

可以的,把它设置到请求参数中,可以参考我这个例子https://blog.csdn.net/qq_35939864/article/details/81774670

0

不可以,如果说传输的数据的话,AOP只能够获取到请求方法的参数,和方法的返回参数。

0

不能,如果非要获取,可以在方法外面定义一个引用

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Spring aop: 如何在增强方法中获取并修改目标函数的参数
@RequestMapping(value="/dispatch",produces = "text/html; charset=UTF-8") @ResponseBody @ControllerPointcut(str = "OKOK") public String dispatch(@RequestParam("messageA")
Spring aop获取目标对象,方法,接口上的注解
在开发中,我们经常需要使用spring aop自定义注解来实现一些特定的功能。比如权限拦截,多数据源动态切换。 在编写切面通知实现类中我们需要获取到注解上的值内容。比如方法上的注解,类上的注解,接口上的注解。 AOP的基本概念: 切面(Aspect) :通知和切入点共同组成了切面,时间、地点和要发生的“故事”。 连接点(Joinpoint) :程序能够应用通知的一个“时机”,这些“时机”就是连接...
SpringAOP--使用通知获取目标方法的参数
获取目标方法的信息    访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法:Object[] getArgs:返回目标方法的参数Signature getSignature:返回目标方法的签名Object getTarget:返回被织入...
Spring中的AOP(四)——在Advice方法中获取目标方法的参数
获取目标方法的信息     访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法: Object[] getArgs:返回目标方法的参数 Signature getSignature:返回目标方法的签名
spring aop获取目标对象的方法对象及方法上的注解
spring aop获取目标对象的方法对象(包括方法上的注解) 这两天在学习权限控制模块。以前看过传智播客黎活明老师的巴巴运动网视频教程,里面就讲到权限控制的解决方案,当时也只是看看视频,没有动手实践,虽说看过几遍,可是对于系统中的权限控制还是很迷茫,所以借着这次机会动手实践一下。     黎活明老师的巴巴运动网使用的框架是struts + spring + jpa,大致思路是
自己试验在spring的环绕通知里获取目标对象的类名和目标方法的参数类名,用于根据自定义注解判断访问权限,有没有更好的办法,高手指点一下
public Object doInBusiness(ProceedingJoinPoint pjp) throws Throwable{   String className = "";   try {    Method m = (Method)pjp.getTarget();   } catch (RuntimeException e) {    className = e.get
Spring AOP——在通知(Advice)方法中获取目标方法的参数
https://my.oschina.net/itblog/blog/211693
spring aop改变目标方法的返回值
package com.example.tuomin.interator; import org.apache.log4j.Logger; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.After; import...
spring aop 获取拦截类中的属性的值
最近搭建一个ssh的通用架子时,想做个通用日志的拦截方法,可以利用反射获取拦截类中的属性 不多说,上代码 日志类 public class MyLog { public void doBefore(JoinPoint jp) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAc
SpringAop中JoinPoint对象的使用方法
JoinPoint的用法 JoinPoint 对象 JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的JoinPoint对象. 常用api: 方法名 功能 Signature getSignature(); 获取封装了署名信息的对象,在该对象中可以获取到目标方法名,所属...
spring aop获取目标对象的方法对象
这两天在学习权限控制模块。以前看过传智播客黎活明老师的巴巴运动网视频教程,里面就讲到权限控制的解决方案,当时也只是看看视频,没有动手实践,虽说看过几遍,可是对于系统中的权限控制还是很迷茫,所以借着这次机会动手实践一下。     黎活明老师的巴巴运动网使用的框架是struts + spring + jpa,大致思路是使用自定义注解,在需要权限控制的方法前使用注解定义方法所需的权限,然后使用AOP拦
spring AOP获取切面方法信息 JoinPoint的用法
JoinPoint 对象 封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装该方法信息的对象 常用api ; 方法名 功能 Signature getSignature(); 获取封装了署名信息的对象,在该对象中可以获取到目标方法名,所属类的Class等信息 Object[] getArgs(); 获取传入目标方法的参数...
AOP3(随记,在前置,后置,环绕通知中获取目标方法的返回值等)
1.需要插入到目标方法各个位置的方法(即切面) package com.audience; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.After; import org.aspectj.lang.a
Spring系列之AOP分析之代理对象的创建(六)
我们在之前的文章中说了Advisor的创建过程,Advice的创建过程以及为目标类挑选合适的Advisor的过程。通过之前的分析我们知道,SpringAOP将切面类中的通知方法都封装成了一个个的Advisor,这样就统一了拦截方法的调用过程。我们在这一篇文章中说一下SpringAOP中代理对象的创建过程。先看下面的一张图: 在SpringAOP中提供了两种创建代理对象的方式,一种是JDK自带...
spring aop的注解配置中,前置,后置,环绕通知,以及异常通知怎么获得被代理方法的参数...
定义的接口 package com.aspectaop; public interface IUserDao {  /* (non-Javadoc)  * @see com.aspectaop.IUserDao#save()  */ /* (non-Javadoc)  * @see com.aspectaop.IUserDao#save(java.lang.String)  */ publi...
使用aop获取方法运行之后的返回值
Java 使用Aop 来获得方法运行完之后的值
Spring AOP修改函数返回值
  最近boss叫我用spring aop做一个试验,说是之后一个新项目要用到,大体需求如下:拦截某个函数的返回值,并修改之。     因为之前我对AOP的认识只是停留在上课时老师跟我们传授的理论阶段,从未写过代码实践过,因此这次我花了一定的时间去做了这个试验。一开始打算上网直接查找相关代码,但是发觉都没有达到我预期的效果,于是决定自己写一个。一开始我打算用后置增强来解决,但是发现只能获取返回...
Spring中的AOP(五)——在Advice方法中获取目标方法的参数
摘要: 本文介绍使用Spring AOP编程中,在增强处理方法中获取目标方法的参数,定义切点表达式时使用args来快速获取目标方法的参数。 获取目标方法的信息     访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法:
spring aop横切对象、切面参数传递
1. spring.xml:         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns:aop="http://www.springframework.org/schema/aop"         xsi:schemaLocation="http://www.springframewor
Spring AOP原理之代理组件执行目标方法
目录 1. 说明 2. 目标方法执行 3. 总结 1. 说明 在IOC容器中获取目标组件的时候,实际获取到的是增强后的代理组件,执行目标方法的时候,也是由此代理组件去执行; public static void main(String[] args) throws Exception { AnnotationConfigApplicationContext applicationC...
AOP后置通知获取目标方法的参数以及配置详解
AOP后置通知获取目标方法的参数以及配置详解
Spring AOP代理机制以及方法调用在同一个类的另一个方法的问题
ref:http://my.oschina.net/mushui/blog/161387 Spring AOP使用JDK动态代理或者CGLIB来为目标对象创建代理。(建议优先使用JDK的动态代理) 如果被代理的目标对象实现了至少一个接口,则会使用JDK动态代理。所有该目标类型实现的接口都将被代理。 若该目标对象没有实现任何接口,则创建一个CGLIB代理。 如果你希望强制使用CGL
Spring AOP为什么不能拦截同一个对象内方法的嵌套调用
在开发基于 Spring 的应用的过程中碰到了一个让我困惑了好久的问题,我在一个 Service 类的 doSomething1() 方法中通过 this.doSomething2(); 语句调用了同一个类中的 doSomething2 方法,运行时通过调试发现 doSomething1 方法的执行前后正常地执行了自定义的 around 装备,但是在 doSomething2 方法执行前后并未如
关于AOP通知的获取目标对象的形参和返回值
在这几天做项目时用到了AOP的后置通知,所以就初略的研究了一下他们的使用方法和API,下面我就浅显的聊一下 aop的通知大致上可以分为以下几种: @Before: 前置通知, 在方法执行之前执行  @After: 后置通知, 在方法执行之后执行  @AfterRunning: 返回通知, 在方法返回结果之后执行  @AfterThrowing: 异常通知, 在方法抛出异常之后  @Around...
Spring Aop 修改目标方法参数和返回值
aop 环绕通知修改目标方法参数和返回值
spring注解切面@AfterReturning取返回值
/** * 案件状态更新的通知 * * @param joinPoint joinPoint */ @AfterReturning(value = "alertsCaseInfoPointcut()", returning = "result") public void doAfterUpdateCaseInfoStatus(JoinPoi...
在自定义spring aop中使用el获取拦截方法的变量值。
参考自:http://stackoverflow.com/questions/33024977/pass-method-argument-in-aspect-of-custom-annotation 经过梳理做成的DEMO,附件有完整示例。 package org.demo.el; import org.demo.el.interceptor.CheckEntity; publ...
在SpringAOP中如何获取方法的参数值(实体类)以及参数名
在前几篇的博客中,我利用AOP来做日志管理。感兴趣的同学可以去了解下(附上地址) https://blog.csdn.net/bicheng4769/article/details/79702778 实际产生的问题 在利用AOP管理日志的时候,遇到这样一个需求,需要将方法的参数、方法名记录下来。其实这样的需求很简单,我在前面那篇博客也讲过,就是利用java的反射机制获取。但是实际中会有这...
Spring AOP 切面@Around注解的具体使用
@Around注解可以用来在调用一个具体方法前和调用后来完成一些具体的任务。 比如我们想在执行controller中方法前打印出请求参数,并在方法执行结束后来打印出响应值,这个时候,我们就可以借助于@Around注解来实现; 再比如我们想在执行方法时动态修改参数值等 类似功能的注解还有@Before等等,用到了Spring AOP切面思想,Spring AOP常用于拦截器、事务、日志、权限验...
Spring AOP 增强介绍
目录 一、前置增强 二、ProxyFactory介绍 三、后置增强和异常增强 四、环绕增强 五、引介增强 advance,通知,在Spring中叫增强也许更加合理。所谓增强,其实就是向各个程序内部注入一些代码从而增强原有程序的功能。 Spring使用增强类定义横切逻辑,同时由于Spring只支持方法连接点,增强还包括在方法的哪一点加入横切代码的方位信息,所以增强即包括横切逻辑,又包含部...
spring AOP 之 获取 被切函数参数 被切函数返回值 以及 修改被切函数返回值
spring AOP 之 获取 被切函数参数 被切函数返回值 以及 修改被切函数返回值
实现 Spring AOP 拦截对象内部调用的方法
转:实现 Spring AOP 拦截对象内部调用的方法 一个SpringBoot项目中使用了 Scheduled Task ,如果任务出现异常,需要发送邮件给管理员,让管理员进行处理。而使用 AOP 对所有任务里的一些方法进行拦截处理时,由于方法经过封装(需要被拦截的),在 task 内部调用该方法时 AOP 不能直接拦截,所以我们需要进行一些特殊处理。 在 task 中定义了两个定时...
反射..获取spring aop代理类 的目标类方法
背景: 在项目开发过程中(注:项目用的SpringMvc),有这么一种需求,系统所有的表格查询都有统一的查询接口,通过通用的Controller类组装查询条件以及调用查询接口返回查询数据。         但是在实际开发中碰到了这么一个问题,由于项目中用到了springaop,所有的数据查询实现类都被包装成SpringAop代理类,遍历类的所有方法获取数据查询方法时,总是获取不到。代码
Spring系列之AOP分析之对目标对象的拦截过程(八)
我们在上一篇文章中简单的说了调用动态代理对象方法的过程,也说了AOP拦截器执行链的生成过程。我们接着说AOP对目标对象的拦截过程。下面的代码是我们要分析的重点: //proxy:生成的动态代理对象 //target:目标对象 //method:目标方法 //args:目标方法参数 //targetClass:目标类对象 //chain: AOP拦截器执行链 是一个MethodInterce...
Spring AOP无法调用自身方法的原因
1、问题概述 在使用Spring AOP时,或多或少会碰到一些方法无法被增强的问题,有时同一个类里面的方法有的可以被增强,有的却无法被增强。要分析原因,首先要从Spring AOP的实现机制入手。 Aop底层实现有两种方法:  1、基于JDK动态代理,通过接口来实现方法拦截,所以必须要确保要拦截的目标方法在接口中有定义,否则将无法实现拦截  2、GCLib动态代理,通过动态生成子类来实现方法拦...
SPRING AOP 修改目标方法参数
1. AOP 切面类 package com.sande.test; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotat...
SpringAOP:为目标类添加新的功能(拓展接口)
Aop 拓展接口 @DeclareParents
深入理解SpringAOP之代理对象
阅读目录一、FactoryBean&BeanFactory&ObjectFactory二、AOP的核心探究三、基于AOP的核心类与接口实现代理  本篇文章主要带大家简单分析一下AOP的代理对象,至于AOP是什么,如何配置等基础性知识,不在这里讨论。阅读前请先参考:代理模式,在这之前我们需要了解springframework的三个核心接口与getBean方法回到顶部一、Factory...
aop做切面时,获取目标方法中的参数
获取目标方法的信息    访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法:Object[] getArgs:返回目标方法的参数Signature getSignature:返回目标方法的签名Object getTarget:返回被织入...
SpringAOP 被切入的方法的参数获取
Map<String, Object> getMethodParam(Class<?> cls, JoinPoint joinPoint) throws Exception { Object[] args = joinPoint.getArgs(); String classType = joinPoint.getTarget().getCl...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 产品经理能培训吗 零基础能学产品经理吗