spring的 aop功能强大,这里是一个简单示例: 监控对特定类或特定方法的调用。
依赖的jar包为:aspectjrt.jar;
1.监控类 LogProfilter.java:
import org.apache.log4j.Logger;
import org.aspectj.lang.ProceedingJoinPoint;
public class LogProfilter {
private static final Logger logger = Logger.getLogger(LogProfilter.class);
public Object logProfilter(ProceedingJoinPoint call) {
Class zlass = call.getTarget().getClass();
String method = call.getSignature().getName();
logger.info("current Class '" + zlass + "' methodName '" + method + "'. ");
Object object = null;
try {
object = call.proceed();
} catch (Throwable e) {
logger.error(" Hava Exception ", e);
}
logger.info("Out Class '" + zlass + "' methodName '" + method + "'. ");
return object;
}
}
2.在spring中配置,最好单独一个配置文件。注意文件要元素有不同。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean id="logProfilter" class="com.sinovatech.sunshine.common.LogProfilter">
</bean>
<aop:config>
<aop:pointcut id="logPointcut" expression="execution(* com.sinovatech.sunshine.*.model.facade.*.* (..))"/>
<aop:aspect id="logAspect" ref="logProfilter">
<aop:around method="logProfilter" pointcut-ref="logPointcut"/>
</aop:aspect>
</aop:config>
</beans>
分享到:
相关推荐
在本文中,我们将深入探讨Spring AOP的基本概念、工作原理以及如何通过一个简单的例子来实现它。 AOP的核心概念包括切面(Aspect)、连接点(Join Point)、通知(Advice)、引入(Introduction)、目标对象...
Spring AOP 简单入门示例 ...注意:在这个示例中,我们只是简单地展示了如何使用 Spring AOP 来记录系统日志,但是在实际应用中,我们需要根据需要记录更多的信息,并且需要考虑到系统的安全性和性能等问题。
本示例将简要介绍如何在Spring应用中实现AOP,通过实际的代码示例帮助理解其工作原理。 首先,我们要理解AOP的核心概念。AOP是一种编程范式,它允许开发者定义“切面”(Aspects),这些切面封装了特定的关注点,如...
通过运行这个示例,你可以亲身体验Spring AOP的工作原理,并了解如何在实际项目中应用。 总的来说,Spring 2.5.6版本的AOP特性使得我们能够更方便地处理系统中的非业务逻辑,提高代码的可读性和可维护性。通过理解...
在这个“Spring AOP 1.0示例”中,我们重点关注如何在实际项目中应用这一特性。 首先,我们需要了解AOP的基本概念。AOP的核心思想是将那些影响多个类的公共行为(如日志记录)抽取出来,形成独立的模块,称为切面...
在这个"spring aop API示例"中,我们将深入探讨如何利用Spring AOP的四种通知类型:Before、After、AfterThrowing和Around,以及它们在实际开发中的应用。 1. **Before通知**: 在方法执行前触发,可以用来执行...
AOP的核心是切点(Pointcut),它定义了关注点在何处应用。在Spring中,我们通常使用表达式或者注解来定义切点。例如,我们可以使用`@Before`、`@After`、`@Around`、`@AfterReturning`和`@AfterThrowing`等注解来...
在本资源"spring aop简单示例.rar"中,我们可以预期包含以下关键知识点: 1. **切面(Aspect)**:切面是AOP的核心概念,它封装了横切关注点,包括通知(Advice)和切入点(Pointcut)。通知定义了在何时何地执行...
**Spring AOP示例** 以入门级的`advice`为例,我们可能有一个简单的日志切面: ```java @Aspect @Component public class LoggingAspect { @Pointcut("execution(* com.example.service.*.*(..))") public void ...
在SLT-Spring-AOP这个项目中,你可以找到具体的实现示例,包括如何定义切面、通知和切入点表达式,以及如何在业务代码中应用这些概念。通过对该项目的深入学习,你将能够更好地理解和掌握Spring AOP的实战应用。
`SpringAop.ppt`文件很可能包含了一个详细的讲解,涵盖了Spring AOP的基本概念、配置方式、使用注解声明切面、基于XML的配置以及如何自定义切面。PPT通常会通过图表、代码示例和流程图来帮助理解复杂的概念,使得...
4. 使用Spring Boot自动配置:在Spring Boot应用中,通常需要在配置类上添加`@EnableAspectJAutoProxy`注解来启用AOP功能。 5. 测试:项目可能包含测试类,通过模拟方法调用来验证AOP通知是否正确工作。 通过深入...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它允许我们在不修改源代码的情况下对程序的...这个简单的示例展示了如何利用Spring AOP进行权限控制,实际应用中,可以根据具体需求进行更复杂的定制和优化。
在Spring AOP(面向切面编程)中,自定义切面是实现业务逻辑解耦、增强代码可维护性的重要手段。AspectJ是一个强大的面向切面的编程库,它提供了与Spring AOP集成的能力,使我们可以编写更为灵活和模块化的代码。...
AOP(Aspect-Oriented Programming)这个东西,名字与 OOP 仅差一个字母,其实它是对 OOP 编程方式的一种补充,并非是取而代之。翻译过来就是“面向方面编程”,可我更...最好的演示案例,解释spring aop,物超所值,
接下来,我们通过一个简单的Spring AOP示例来加深对上述概念的理解。假设我们需要在调用某个公共方法前记录日志,我们可以定义一个`BeforeAdvice`,并在目标方法上应用此通知。 ```java package com.example.aop; ...
在Spring AOP(面向切面编程)中,我们可以通过定义拦截器来实现对系统操作日志和异常日志的记录,这些日志信息通常会被存储到数据库中以便于后续的分析和故障排查。下面将详细介绍如何使用Spring AOP实现这个功能。...
此外,`springtest`文件可能包含了一些用于测试Spring AOP性能监控器的示例代码,你可以根据这些代码进一步实践和理解这个主题。记住,理论知识与实际操作相结合才能更好地掌握技术。 总结来说,Spring AOP性能监控...
在这个"SpringAOP的例子"中,我们将深入探讨如何在Eclipse环境下利用Spring AOP和动态代理来实现这些功能。 首先,让我们理解什么是AOP。AOP是一种编程范式,旨在减少代码的重复性和增强可维护性。在传统的OOP中,...