`

spring aop未执行问题记录

阅读更多
在类com.ipharmacare.plat.service.data.DocOrgService中定义了如下2个方法:
	public int operate(Integer docId, String[] allOrgs, DocManageVo doc) {
	
		int r = 0;
		...
	
		return r;
	
	}
	
	public int operate(DocManageVo doc, String[] allOrgs, String productId, String entCode) {

		int r = 0;

		...
		
		r += operate(doc.getId(), allOrgs, doc);

		return r;
	}

spring aop配置如下:
		<aop:aspect id="aspect.deliveryChangeLog.aop" ref="deliveryChangeLogAop">
			<aop:pointcut
				expression="execution(int com.ipharmacare.plat.service.data.DocOrgService.operate(Integer,..))"
				id="pointcut.deliveryChangeLog" />
			<aop:around method="around" pointcut-ref="pointcut.deliveryChangeLog" />
			<aop:after method="after" pointcut-ref="pointcut.deliveryChangeLog" />
		</aop:aspect>


在DocManageAction中调用了方法DocOrgService.operate(DocManageVo doc, String[] allOrgs, String productId, String entCode),发现AOP中的逻辑并没执行,这有点奇怪了!?

无意间我在DocManageAction中调用方法DocOrgService.operate(Integer docId, String[] allOrgs, DocManageVo doc),发现AOP中逻辑已成功执行

这就有点不明白了,何以在DocOrgService本类中调用operate(Integer docId, String[] allOrgs, DocManageVo doc)方法,其AOP逻辑为何不生效呢,而必须在其它类中调用该方法其AOP逻辑才生效!?
分享到:
评论

相关推荐

    spring aop 操作日志

    本资源用来展示如何使用 spring aop 进行日志记录,例子里面通过aop的配置,把产生的日志存放到当前项目的根目录下,而且对方法执行过程中的参数进行了记录,对于aop如何记录日志不清楚的同学可以看看。

    使用Spring AOP对异常进行统一处理

    我们在捕获到异常并对异常进行处理时可能会遇到如下一些问题: 1.不确定应如何处理这些异常 2.需要记录异常日志时没有记录,或者异常在不同的地方重复记录,使得排错调试不方便 3.处理日志时,需要在每一个try-catch...

    Spring AOP实战 记录日志 下载可以直接使用

    适用人群: 针对资深Java开发者、熟悉Spring AOP的专业人士,以及企业中从事Java后端开发的工作人员。也欢迎对AOP实战用法感兴趣的同学们加入。 使用场景及目标: 在生产环境中,通过巧妙的AOP机制,实现对日志的...

    Aop记录执行时间.pdf

    Spring AOP的 方式 切面记录 出入参 代码简洁 使用反射方式 切面 记录 HTTP请求的 出入参 ,使用log打印

    spring aop 实现源代码--xml and annotation(带lib包)

    顾名思义,Before Advice会在目标对象的方法执行之前被调用,您可以通过实现org.springframework.aop.MethodBeforeAdvice接口来实现Before Advice的逻辑,接口定义如下: java 代码 1. package org.spring...

    spring aop生成日志文件

    利用自定义注解和spring aop和java反射机制生成用户能够读懂的日志记录。如:用户张三在2013年9月27日17:00执行了用户管理模块的用户删除功能参数为(编号:123456)各位可根据需要写入数据库或者保存到文件。

    利用Spring AOP记录方法的执行时间

    给大家介绍的是spring的aop来实现方法级的执行时间的记录监控,以此来评估方法的性能以及针对性的对已存在的方法进行优化。对于监控,我们比较关注监控的可靠性和性能,准确,高效,这才能在不影响整体性能的情况下...

    Spring mvc mybatis plus 实现AOP 切面日志系统

    Spring mvc mybatis plus 实现AOP 切面日志系统,带有数据库。可以自行拓展

    aop-log:项目正式命名为aop-log,基于Spring AOP,ThreadLocal实现方法埋点,埋点信息记录和自定义收集

    AopLogAopLog是基于SpringAop和ThreadLocal实现的一个对请求方法埋点记录与处理的日志工具包。设计目的和场景:使用Spring Aop拦截程序,基本上都是同一个小异,不想日后每个项目都柏林都写一份这样的Aop拦截处理...

    spring AOP代理机制.docx

    sping AOP面向切面的编程,程序运行过程中动态加入所需代码等,对公共的问题进行集中处理,具体的实现有动态代理与静态代理,本文通过对AOP的代理机制,前置、后置、环绕、异常的通知进行了综合总结和运用!

    AOP的例子 记录日志

    切面编程的例子,采用spring,可以在方法执行的前中后进行跟踪

    Spring aop.rar

    进行日志记录。 记录的信息包含 : 方法执行的时间点(2020-10-10 10:20:30),类的全类名,方法名,参数,返回值,异常

    spring boot aop 记录方法执行时间代码示例

    主要介绍了spring boot aop 记录方法执行时间代码示例,分享了相关代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    java 实现AOP

    它的主要意图就要将日志记录,性能统计,安全控制等等代码从商业逻辑代码中清楚的划分出来,我们可以把这些行为一个一个单独看作系统所要解决的问题,就是所谓的面向问题的编程(不知将AOP译作面向问题的编程是否欠妥...

    使用Spring更好地处理Struts动作

    Spring AOP 允许您使用拦截器 在一个或多个执行点上拦截应用程序逻辑。加强应用程序在拦截器中的日志记录逻辑会产生一个更可读的、实用的代码基础,所以拦截器广泛用于日志记录。您很快就会看到,为了处理横切关注点...

    如何在Spring Boot中使用@AfterReturning注解

    在本文中,我们介绍了Spring Boot AOP中的@AfterReturning注解,它用于定义在目标方法成功返回后执行的切面逻辑。我们通过一个图书管理系统的实例演示了@AfterReturning的使用方式,并在成功查询图书时记录了查询的...

    如何在Spring Boot中使用@Before注解

    Aspect-Oriented Programming(AOP)是Spring Boot框架中的一个重要组成部分,它允许开发者通过将横切关注点(Cross-Cutting Concerns)从主业务逻辑中分离出来,从而提高代码的可维护性和复用性。 在Spring Boot中...

    Spring 2.0 开发参考手册

    6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. Spring的AOP代理 6.2. @AspectJ支持 6.2.1. 启用@AspectJ支持 6.2.2. 声明一个切面 6.2.3. 声明一个...

    spring-boot mybaits spring security redis整合

    aop日志记录。 4、调度 ====== Spring task, 可以查询已经注册的任务。立即执行一次任务。 5、缓存和Session =========== 注解redis缓存数据,Spring-session和redis实现分布式session同步(建议按功能模块...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.4.2. Spring AOP中使用@AspectJ还是XML? 6.5. 混合切面类型 6.6. 代理机制 6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1....

Global site tag (gtag.js) - Google Analytics