Spring AOP可以方便地监控方法执行情况,可以用来记录系统日志。以下是通过after通知来记录指定方法的执行情况。
通知类:SysLogAfterAdvice
java 代码
- public class SysLogAfterAdvice implements AfterReturningAdvice {
- public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {
-
- }
- }
在该类中记录需要监听的方法执行情况,形成系统日志。
关键在于配置文件。
xml 代码
- <bean id="id1_Service" class="org.springframework.aop.framework.ProxyFactoryBean">
- <property name="target">
- <ref local="beanTarge" />
- property>
- <property name="interceptorNames">
- <list>
- <value>logAfterAdvisorvalue>
- list>
- property>
- bean>
- <bean id="logAfterAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
- <property name="advice"><ref local="sysLogAfterAdvice" />property>
- <property name="pattern">
- <value>.*do.*value>
- property>
- bean>
- <bean id ="sysLogAfterAdvice" class="com.jiuqi.mcasv2.logic.sysmng.SysLogAfterAdvice" >
- <property name="logMngBO"><ref bean="logMngBO"/>property>
- bean>
id1_Service中属性interceptorNames指定进行监听器列表,其次序是有影响的。
监听器logAfterAdvisor将通知及切入点组合在一起,指明对以do开头的方法发送通知sysLogAfterAdvice进行拦截处理。
其它类型的通知,配置方式同上,只要改变相应通知类就行了。其它可用通知类型包括before/around/after throwing等类型。
around通知是万金油型,对方法的执行前后情况都可拦截,通用。
但是建议用最适合的通知类型,而不是任何情况都用around通知,虽然它也能解决。
分享到:
相关推荐
该jar文件包含了Spring AOP的核心类和接口,如`org.springframework.aop.*`包下的`AspectJExpressionPointcut`、`MethodBeforeAdvice`、`AfterReturningAdvice`等。 3. spring-aspects-4.1.6.RELEASE.jar:这个jar...
在讨论Spring AOP(面向切面编程)时,首先需要理解几个核心概念。Spring AOP 是Spring框架提供的一个功能模块,它允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中解耦出来,通过在方法调用前后进行...
本篇将深入探讨如何通过XML配置来实现Spring AOP的应用。 一、Spring AOP基本概念 在Spring AOP中,切面(Aspect)是关注点的模块化,它包含了通知(Advice)和切点(Pointcut)。通知是在特定连接点(Join Point)...
Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它允许我们通过分离关注点来简化应用程序的开发。在传统的面向对象编程中,业务逻辑与日志记录、事务管理、性能监控等横切...
在本篇博文中,我们将深入探讨Spring AOP(面向切面编程)的使用,特别是如何通过Advisor指定切入点。Spring AOP是Spring框架的核心...通过这些测试代码,我们可以更直观地理解和学习如何在实际应用中使用Spring AOP。
本资源包"Spring_ch01-2.zip_springAOP"专注于Spring的面向切面编程(Aspect-Oriented Programming,简称AOP)特性。AOP允许我们在程序设计时将关注点分离,例如日志、事务管理等,使其独立于核心业务逻辑,从而提高...
在Spring1.2或之前的版本中,实现AOP的传统方式就是通过实现Spring的AOP API来定义Advice,并设置代理对象。Spring根据Adivce加入到业务流程的时机的不同,提供了四种不同的Advice:Before Advice、After Advice、...
比如,`org.aopalliance.intercept.MethodInterceptor`接口定义了拦截器的接口,Spring AOP的`MethodBeforeAdvice`、`AfterReturningAdvice`等通知类型都实现了这个接口。 了解这些jar包的作用后,我们可以看到...
### Spring AOP 学习资料知识点总结 #### 一、Spring AOP 概念与背景 **Spring AOP**(面向切面编程)是Spring框架中的一个重要组成部分,它通过预定义的切入点来分离关注点,使得核心业务逻辑更加清晰,同时能够...
3. **启用AOP代理**:在Spring配置文件中,我们需要启用AOP代理来应用Advisor。可以使用`<aop:config>`或`<aop:aspectj-autoproxy>`标签来实现: ```xml <aop:config> <aop:advisor id="loggingAdviceRef" advice-...
总结来说,Spring AOP的XML配置方式更传统,适合于早期的Spring应用,而注解配置则更为现代,提供了更简洁的代码结构和更好的可读性。开发者可以根据项目需求和个人偏好选择适合的配置方式。在实际应用中,结合使用...
2. **基于注解的AOP**:Spring 2.5引入了基于注解的AOP,可以将切面和通知直接应用到方法上,无需XML配置。 **配置文件示例** 在Spring的XML配置文件中,我们可以这样定义一个切面: ```xml <aop:config> <!-- ...
总结来说,Spring AOP提供了一种优雅的方式来管理横切关注点,通过面向切面的编程模式,我们可以更有效地组织和分离关注点,从而使代码更符合面向对象的设计原则。无论是事务管理、日志记录还是其他基础设施服务,都...
总结,Spring AOP源码的探索有助于开发者深入理解面向切面编程的实现机制,提升问题解决能力,从而更好地利用AOP技术优化和维护应用程序。通过实践与学习,我们可以更好地驾驭这个强大的工具,提高代码的可维护性和...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它允许程序员在不修改源代码的情况下,通过添加额外的行为(即“切面”)来增强应用程序的功能。在Spring AOP中,主要有三个核心概念:Advice、Pointcut和...
Spring中,我们可以使用`org.springframework.aop.AfterReturningAdvice`接口来实现。例如: ```java public class AfterReturningAdviceImpl implements AfterReturningAdvice { public void afterReturning...
在Spring框架中,面向切面编程(Aspect Oriented Programming,简称AOP)是一种强大的设计模式,它允许我们...通过深入理解和实践,我们可以更好地利用Spring AOP来优化我们的应用程序,提高代码的可读性和可维护性。
总结,Spring AOP提供了一种优雅的方式,让我们能够分离关注点,实现代码的模块化,提高可维护性和复用性。理解并熟练运用这些概念和机制,可以极大地提升我们的开发效率和代码质量。通过学习和实践,你可以更好地在...
### Spring AOP 概念详解 #### 一、AOP基本概念 **Spring AOP** 是基于面向切面编程(Aspect Oriented Programming)的一种...理解和掌握这些核心概念,有助于开发者更好地利用 Spring AOP 来优化和维护应用程序。
总结来说,Spring AOP通过四种类型的Advice提供了灵活的横切关注点实现,使得我们可以将关注点从核心业务逻辑中分离出来,从而实现代码的解耦和复用。无论是使用传统的API还是现代的注解方式,Spring AOP都能帮助...