`
michaelxz
  • 浏览: 21319 次
  • 性别: 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-aop-4.0.0.RELEASE

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

    spring-boot aop

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

    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-aroud-demo.zip

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

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

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

    Spring-AOP(前置/后置/环绕)通知的例子

    Spring AOP,全称Aspect-Oriented Programming,是Spring框架中的一个重要组成部分,它引入了面向切面编程的概念,使得开发者可以方便地实现横切关注点,如日志、事务管理等,而无需侵入到业务代码中。在这个例子中...

Global site tag (gtag.js) - Google Analytics