`

Spring AOP入门 (四)基于XML配置

阅读更多
首先修改LogAspect.java,这里可以移除掉所有AOP相关的注解,只保留@Component。


package com.lj.proxy;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.springframework.stereotype.Component;

import com.lj.log.Logger;
/**
*这里只剩下@Component了,其它的注释都去掉了,都会通过beans.xml的信息让Spring自己来进行处理。
*/
@Component("logAspect")
public class LogAspect {

	public void logStart(JoinPoint jp) {

		// 返回类对象
		System.out.println(jp.getTarget());
		// Signature.getName()返回方法名称
		System.out.println(jp.getSignature().getName());
		Logger.info("加入日志");
	}

	public void endStart(JoinPoint jp) {
		Logger.info("方法调用结束");

	}

	public void logAround(ProceedingJoinPoint proceedingJoinPoint) {
		Logger.info("开始在Around中加入日志");
		try {
			proceedingJoinPoint.proceed();
		} catch (Throwable e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} // 执行程序
		Logger.info("Around执行结束");

	}

}



接下来只要在beans.xml中配置切面,将这个类里的方法'切入'到要做log的类的方法就可以了。


	 <aop:config>   <!-- ref对应的是@Component("logAspect") -->
		 	<!-- 切面对象名称是logAspect -->
		 	<aop:aspect id="logAspect" ref="logAspect">
		 		<!-- 设置pointcut -->
		 		<aop:pointcut id="logPointCut" expression="execution(* com.lj.dao.*.add*(..))||
		 		execution(* com.lj.dao.*.loadBy*(..))" />
		 		<!-- 设置@before的方法,pointcut-ref对应上面的pointcut id -->
		 		<aop:before method="logStart" pointcut-ref="logPointCut"/>
		 		<aop:after method="endStart" pointcut-ref="logPointCut"/>
		 		<aop:around method="logAround" pointcut-ref="logPointCut"/>
		 		<!-- method名称要对应LogAspect里面的方法名称 -->
		 	</aop:aspect>
		 </aop:config>


分享到:
评论

相关推荐

    spring AOP入门实例

    在Spring AOP中,我们可以使用注解或者XML配置来定义切面。以注解为例,`@Aspect`注解用于定义一个切面类,`@Before`、`@After`、`@Around`、`@AfterReturning`和`@AfterThrowing`分别代表在方法执行前、后、前后...

    spring AOP入门教程

    - **SpringAOP.avi**:可能是一个视频教程,详细讲解了Spring AOP的概念和实践。 - **SpringAOP.doc**:可能是文档教程,包含了详细的步骤和示例代码。 - **SpringAOP_src.rar**:源代码示例,供你参考和实践。 - **...

    Spring AOP 入门作者:廖雪峰

    #### 四、Spring配置与AOP应用 在Spring框架中,使用XML配置文件将业务Bean组织起来。首先,配置`MyServiceBean`实例,并注入所需的属性,如用户目录。然后,定义AOP的切面,包括切入点和通知,以增强业务Bean的...

    最简单的SpringAOP入门案例

    本教程将通过一个简单的Spring AOP入门案例,帮助初学者理解这一概念。 ### 一、AOP基础 1. **切面(Aspect)**:切面是关注点的模块化,它封装了跨越多个对象的行为或数据。在Spring AOP中,切面可以由一个类定义...

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    spring aop管理xml版

    在"Spring AOP管理XML版"中,我们主要关注的是通过XML配置来管理AOP。以下是一些关键的XML配置元素: - `&lt;aop:config&gt;`:这是AOP配置的根元素,包含所有其他的AOP配置。 - `&lt;aop:aspect&gt;`:定义一个切面,内部可以...

    Spring 入门案例——AOP

    通过这个入门案例,你可以逐步学习如何创建和配置切面,以及如何利用Spring AOP实现实际的需求。在实践中,你会看到如何利用AOP提升代码的可维护性和可复用性,避免了横切关注点对业务代码的侵入。同时,它也会帮助...

    SpringSpring Aop基础入门

    Spring Aop基于xml练习

    Spring AOP 入门实例1

    以下是一个简单的Spring AOP入门实例步骤: 1. 首先,定义一个切面类,包含通知方法。例如,一个简单的日志切面: ```java @Aspect @Component public class LoggingAspect { @Before("execution(* com.example*...

    spring的aop简单例子

    在Spring中,AOP可以通过两种方式实现:基于XML配置和基于注解的方式。下面我们将分别探讨这两种方法。 1. 基于XML配置的AOP: 在Spring的配置文件中,我们需要定义一个`&lt;aop:config&gt;`元素来启用AOP支持,并创建切...

    Spring AOP入门及其实例讲解、下载

    **Spring AOP 入门及其实例讲解** 在软件开发中,面向切面编程(Aspect Oriented Programming,简称AOP)是一种编程范式,它旨在提高代码的可重用性,减少冗余,并将关注点分离。Spring框架是Java开发中的一个流行...

    Spring AOP简单demo

    2. **XML配置驱动**:在Spring配置文件中定义切面、通知和切入点表达式。 **Spring AOP示例** 以入门级的`advice`为例,我们可能有一个简单的日志切面: ```java @Aspect @Component public class LoggingAspect ...

    spring2-aop入门实例教程

    ### Spring2-AOP入门实例教程知识点详解 #### 一、Spring框架概述 - **轻量级J2EE开发框架**:Spring是一个轻量级的Java应用框架,它为开发复杂的企业级应用提供了一种简化的方法。 - **发展历程**:自2002年发布...

    Spring -Aop入门

    ### Spring AOP 入门详解 #### 一、Spring AOP 概述 Spring AOP (Aspect Oriented Programming) 是一种面向切面编程的技术,在Spring框架中得到了良好的支持。通过这种方式,开发者可以更加灵活地组织代码,使得...

    SPRING AOP详细培训视频

    在Spring AOP中,我们可以使用注解或者XML配置来定义切面、通知和切点。例如,`@Aspect`注解用于标记一个类作为切面,`@Before`、`@After`等用于标记通知,`@Pointcut`用于定义切点表达式。 视频教程中提到的"AOP...

    spring aop 详细介绍

    5. **Spring AOP入门**: Spring AOP通过XML配置或者注解方式来实现AOP功能。在XML配置中,可以定义Bean、Advisor、Pointcut等元素。在注解方式下,可以使用`@Aspect`、`@Before`、`@After`、`@AfterReturning`、`@...

    Spring_Aop入门例子

    在Spring AOP中,我们可以使用XML配置或者注解的方式来定义切面。下面是一个简单的例子: 1. **XML配置**: ```xml &lt;aop:config&gt; &lt;!-- 定义切入点表达式 --&gt; &lt;aop:pointcut id="serviceMethods" expression=...

    Spring AOP快速入门_源码

    1. XML配置:在Spring配置文件中声明切面、通知和切入点表达式。 2. 注解驱动:使用`@Aspect`注解定义切面,`@Before`, `@After`, `@Around`, `@AfterReturning`, `@AfterThrowing`等注解定义通知,`@Pointcut`定义...

    Spring aop.docx

    **Spring AOP 入门** 在深入探讨Spring AOP之前,我们先理解AOP(面向切面编程)的概念。AOP是一种编程范式,旨在减少代码的重复性,提高代码的可维护性和可读性。它通过将关注点(如日志记录、事务管理、安全性等...

Global site tag (gtag.js) - Google Analytics