`
michaelxz
  • 浏览: 21121 次
  • 性别: Icon_minigender_1
  • 来自: 遂宁
社区版块
存档分类
最新评论

spring-aop 实现日志

阅读更多

最近想写个基于spring的日志记录COM,首先浮现出来的肯定是AOP

动手开始写

private void writeLog() {
	System.out.println(new Date().toString()+"执行了"+某某方法+"操作的数据为:"+某某数据);
}

 

问题就在这,这个方法名和参数怎么来获取呢?

查询了下资料,原来这些信息被spring自动封装在了JoinPoint里面

private void writeLog(JoinPoint joinPoint) {
                               //获取传入的参数
		Object[] args = joinPoint.getArgs();
		for (int i=0; i<args.length; i++) {
			System.out.println(args[i]);
		}
		//获取被AOP的方法
		String methodName=joinPoint.getSignature().getName();
			}

 

最后还去思考了下,基于动态代理,基于annotation,基于schema这3种AOP实现方式

动态代理明显被schema替代,annotation和schema算是各有千秋吧!

分享到:
评论

相关推荐

    spring-aop-jar

    Spring AOP模块提供了实现AOP规范的功能,它允许开发者定义“切面”来封装系统中的横切关注点,如日志、事务管理等。该jar文件包含了Spring AOP的核心类和接口,如`org.springframework.aop.*`包下的`...

    spring-aop.xsd

    Spring AOP是Spring框架的重要组成部分,它提供了面向切面编程的能力,使得开发者可以在不修改源代码的情况下对程序进行横切关注点(如日志、事务管理等)的处理。`spring-aop.xsd`文件是Spring AOP配置的XML Schema...

    spring-aop.jar

    Spring AOP提供了多种通知实现,如`org.springframework.aop.interceptor.AbstractAsyncTimingInterceptor`用于异步方法的性能监控。 4. **切点(Pointcut)**:切点定义了通知的触发条件,可以基于方法名、注解、...

    spring-aop-3.0.xsd spring-beans-3.0 spring-context-3.0.xsd spring-mvc-3.1.xsd

    Spring AOP(面向切面编程)是 Spring 框架的一个重要部分,它允许开发者在不修改源代码的情况下,实现跨切面的关注点,如日志、事务管理等。`spring-aop-3.0.xsd` 是 Spring AOP 的 XML 配置文件,定义了与 AOP ...

    spring-aop-4.2.6.RELEASE.zip

    3. **智能代理增强**:Spring AOP可以自动创建JDK动态代理或CGLIB代理,根据目标对象是否实现了接口来决定,这使得AOP能在各种情况下无缝工作。 4. **事务管理**:Spring AOP在事务管理方面有着出色的表现,可以...

    spring-boot aop

    在Spring框架中,AOP主要用于日志记录、事务管理、性能统计等场景。本示例是关于如何在Spring Boot项目中实现AOP功能的一个简单演示。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了跨越...

    spring-aop-4.0.0.RELEASE

    Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它为开发者提供了声明式事务管理、日志记录、权限控制等核心功能。在4.0.0.RELEASE版本中,Spring AOP进一步优化了其性能和...

    Spring-Aop所有jar

    在Spring框架中,AOP通过代理模式实现,可以是JDK动态代理或者CGLIB代理。 首先,我们需要理解AOP的基本概念。切面(Aspect)是包含关注点的模块化单元,它封装了跨越多个对象的行为或责任。通知(Advice)是切面在...

    spring-aop

    Spring AOP就是为了解决这种问题而设计的,它允许我们将这些横切关注点与业务逻辑分离,实现代码的模块化和可重用性。 AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点(Join Point)、切入点(Pointcut...

    spring-aop源码解读

    ProxyFactoryBean是Spring AOP用于创建代理对象的主要工具,它实现了BeanFactoryAware、BeanClassLoaderAware和FactoryBean接口,使其能够利用IOC容器的功能来查找并应用Advice和目标对象。 配置和使用...

    aopalliance-1.0、aspectjweaver-1.8.10、spring-aop-4.3.6.RELEASE、spring-aspects-4.3

    Spring AOP允许开发者定义切点(Pointcut)、通知(Advice)、切面(Aspect)等概念,以实现如日志记录、事务管理等横切关注点。与AspectJ不同,Spring AOP默认使用代理模式(如JDK动态代理或CGLIB),但在配置后也...

    Spring-AOP.rar_spring aop 日志

    通过学习和理解Spring AOP,你不仅可以实现日志记录,还可以解决其他跨切面的问题,提高代码的可读性和可维护性。同时,Spring AOP与Spring的其他功能(如DI、事务管理)结合使用,能够构建出强大的企业级应用。因此...

    spring----AOP实现

    Spring AOP实现详解 在Java开发中,Spring框架以其强大的功能和灵活性被广泛使用,而AOP(面向切面编程)则是Spring框架的一个重要特性。AOP为开发者提供了一种处理横切关注点的新方法,使得代码更加模块化,提高了...

    spring-aop实例demo

    在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许程序员定义“切面”,这些切面封装了应用程序中的交叉关注点,如日志、事务管理、权限检查等。Spring AOP是基于代理的,它可以为普通Java对象(POJOs)...

    Spring-AOP demo

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点,如日志、事务管理、安全性等。本示例"Spring-AOP demo"旨在展示如何在Java四层架构(表示层、...

    spring-aop-2.5.6.jar,jfreechart-1.0.13.jar,commons-fileupload.jar,

    Spring AOP(面向切面编程)是Spring框架的一个重要组成部分,它允许开发者在不修改源代码的情况下对应用程序进行横切关注点的处理,如日志、事务管理、性能监控等。AOP通过定义切面、通知(advises)、切入点...

    spring-aop-aroud-demo.zip

    在本示例中,我们探讨的是如何在Spring Boot项目中使用Spring AOP(面向切面编程)实现环绕通知,以自动记录日志的功能。Spring AOP是Spring框架的一部分,它允许我们在不修改源代码的情况下,对应用程序进行横切...

    spring aop注解方式、xml方式示例

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种强大的方式来实现横切关注点,如日志、事务管理、性能监控等,而无需侵入业务代码。下面将详细介绍Spring AOP的注解方式和XML配置方式。 ### ...

Global site tag (gtag.js) - Google Analytics