`
renzhe137
  • 浏览: 1757 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

如何实现ASPECTJ日志管理

 
阅读更多
<?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"

	xmlns:tx="http://www.springframework.org/schema/tx"

	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

           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">



	<bean id="userManager" class="com.jzg.spring.UserManagerImpl" />

	<bean id="logHandler" class="com.jzg.spring.LogHandler" />



	<aop:config>
		<!-- 先声明一个aspect,这里logHandler为<bean id="logHandler">所指向的java类 -->

		<!--securityHandler中有需要在被切入方法上执行的方法 -->

		<aop:aspect id="logAspect" ref="logHandler">

			<!-- 这里是匹配任意返回值的无参add前缀 的方法 -->

			<!-- <aop:pointcut id="addAllMethod" expression="execution(* add*(..))"/> -->



			<!-- execution(* com.jzg.spring.*.*(..)), 这里是匹配spring包下的所有方法 -->

			<aop:pointcut id="AllMethod" expression="execution(* com.jzg.spring.*.*(..))" />

			<!-- 按照AllMethod切入点的规定,在spring包下所有方法执行后都会执行一次 log() 方法 -->
			<aop:after method="log" pointcut-ref="AllMethod" />



		</aop:aspect>

	</aop:config>

</beans>





package com.jzg.spring;

import org.aspectj.lang.JoinPoint;

public class LogHandler {

	@SuppressWarnings("unused")
	private void log(JoinPoint jp) {
		Object o[] = jp.getArgs();
		System.out.println(jp.getSignature());
		System.out.println(o[0]);
		System.out.println("-------log()----------");

	}

}


分享到:
评论

相关推荐

    Spring Aop之AspectJ注解配置实现日志管理的方法

    Spring Aop之AspectJ注解配置实现日志管理的方法 Spring Aop是基于AspectJ实现的面向切面编程(AOP),它提供了一个灵活的方式来实现日志管理。通过使用AspectJ注解,可以轻松地实现日志记录、性能监控、安全检查...

    spring基于AspectJ实现事务控制

    AspectJ是一种面向切面编程(AOP)的Java语言扩展,它允许开发者定义“切面”——关注点的模块化,这些关注点包括日志、事务管理、安全性等。AspectJ提供了一种强大的类型系统和编译时及运行时织入机制,使得切面...

    Flex整合Spring实现aop日志管理

    本文将深入探讨如何使用Flex与Spring框架整合,实现AOP(面向切面编程)来达到日志管理的目标。AOP允许我们在不修改原有业务逻辑的情况下,插入日志记录代码,使得日志功能的实现更加灵活和高效。 首先,让我们理解...

    springMVC AOP拦截拦截Controller等实现日志管理

    在这个场景中,我们将讨论如何利用AOP来实现Controller的日志管理,以捕获并记录应用程序中的异常。 首先,我们需要了解Spring AOP的基础概念。AOP允许我们定义“切面”,这些切面是关注点的模块化,如日志记录。切...

    aspectJ

    AOP的核心思想是将系统中的横切关注点(如日志、事务管理、权限控制等)与业务逻辑分离,以提高代码的可维护性和模块化。 AspectJ通过引入切面(Aspect)、通知(Advice)、连接点(Join Point)、切点(Pointcut)...

    Spring 使用AspectJ 实现 AOP之前置通知小例子

    在Spring框架中,AOP(面向切面编程)是一种强大的设计模式,它允许开发者定义“切面”,这些切面封装了关注点,如日志、事务管理或性能度量,从而将它们与业务逻辑分离。AspectJ是Java平台的一个开源项目,提供了...

    Aspectj

    8. **实战应用**: 在实际项目中,AspectJ常用于日志记录、事务管理、性能监控、权限控制等场景。通过切面,可以实现代码的整洁性和低耦合。 9. **学习资源**: 博文链接提供了一个很好的起点,其中详细介绍了AspectJ...

    aop注解方式实现全局日志管理方法

    AOP注解方式实现全局日志管理方法是一种使用Aspect-Oriented Programming(面向方面编程)技术来实现日志管理的方法。该方法使用Java的注解方式来实现日志记录,能够对应用程序的日志进行统一管理。 知识点一:AOP...

    aspectj-1.9.6.jar

    总的来说,AspectJ 1.9.6.jar作为Java AOP的重要实现,为开发者提供了一种优雅的方式来管理横切关注点,提高了代码的可维护性和可读性。对于大型复杂项目,尤其是需要跨模块处理通用任务的情况,AspectJ是一个不可或...

    android 实现AOP 使用Aspectj Kotlin版Demo.zip

    AspectJ是一个广泛使用的Java语言的AOP框架,而Kotlin作为现代的Android开发语言,与AspectJ结合可以带来更简洁、高效的实现方式。这个"android 实现AOP 使用Aspect Kotlin版Demo"就是一个实例,展示了如何在Kotlin...

    Spring @AspectJ 实现AOP 入门例子

    本篇文章将深入探讨如何利用Spring的@AspectJ注解来实现AOP,这是一个入门级别的例子,旨在帮助开发者理解并掌握这一关键特性。 首先,我们要明白什么是AOP。面向切面编程是一种编程范式,它允许程序员定义“切面”...

    aspectj-1.6.9.jar

    AspectJ 是一个强大的面向切面编程(AOP)的框架,它允许开发者在Java应用程序中分离关注点,将横切逻辑(如日志、事务管理、安全性等)与核心业务逻辑相分离。`aspectj-1.6.9.jar` 是AspectJ框架的一个特定版本,即...

    Spring 使用AspectJ 实现 AOP

    在Spring中,我们可以使用AspectJ来实现AOP,AspectJ是一个强大的AOP框架,它可以与Spring无缝集成,提供更细粒度的控制。 首先,让我们了解一下AOP中的通知类型: 1. **前置通知**(Before Advice):在目标方法...

    Aop之AspectJ详解解读demo

    AspectJ是Java平台上的一个开源AOP框架,它提供了一种强大的语言级支持来实现切面。本文将深入探讨AspectJ的使用、框架结构及其应用场景,并通过一个入门实例进行详细解释。 **一、AspectJ简介** AspectJ是一个...

    精通AspectJ_源代码

    AspectJ是一种强大的面向方面的编程(AOP)框架,它扩展了Java语言,使得开发者能够更方便地处理系统中的横切关注点,如日志、事务管理、安全性等。本资源包含的是《精通AspectJ》一书中的示例代码,通过这些代码,...

    AspectJ面向切面的例子

    面向切面编程(AOP)是一种编程范式,旨在提高软件设计的模块化程度,将关注点分离,尤其是那些跨越多个模块的横切关注点,如日志、事务管理、性能监控等。AspectJ是Java平台上的一个开源框架,它为Java开发者提供了...

    Spring 使用AspectJ 实现 AOP(基于xml文件、基于注解)

    在Spring框架中,面向切面编程(AOP)是一种强大的设计模式,它允许开发者将关注点从业务逻辑中分离出来,比如日志记录、事务管理等。AspectJ是Java平台上的一个开源AOP框架,提供了丰富的语法来定义切面。本教程将...

    aspectj jar

    AspectJ是一个强大的、成熟的库,它扩展了Java语言,允许开发者定义和执行切面,这是一种分离关注点的方式,使得业务逻辑与横切关注点(如日志、事务管理或权限控制)可以独立编写和维护。 标题"aspectj jar"指的是...

    book :aspectj in action

    4. 利用AspectJ进行日志记录、性能监控、事务管理和权限控制等实践案例。 5. 如何调试AspectJ代码,理解其编译过程和运行时行为。 6. 高级特性,如引入(introductions)、代理(proxies)和类型重定义(type ...

    JavaEE AspectJ基于注解的配置

    JavaEE AspectJ基于注解的配置是Java企业级开发中的一种高级切面编程技术,它允许开发者通过注解来定义切面,实现模块化的代码管理,提高代码的可复用性和可维护性。AspectJ是一种面向切面的编程(AOP)框架,它扩展了...

Global site tag (gtag.js) - Google Analytics