`
chimpp55
  • 浏览: 21857 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring_1500_AOP_Annotation Aspect 的关键字用法

 
阅读更多
package com.bjsxt.aop;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class LogInterceptor {
	@Pointcut("execution(public * com.bjsxt.service..*.[color=red]add[/color](..))")
	public void myMethod(){};

	@[color=red]Before[/color]("myMethod()")
	public void before() {
		System.out.println("method before");
	}

	@[color=red]Around[/color]("myMethod()")
	public void aroundMethod(ProceedingJoinPoint pjp) throws Throwable {
		System.out.println("method around start");
		pjp.[color=red]proceed[/color]();
		System.out.println("method around end");
	}

	@After("myMethod()")
	public void afterMethod() throws Throwable {
		System.out.println("method after");
	}


}


输出的结果为
method before
method around start
user saved!
method after
method around end

当调用 add 方法时,因为 Pointcut 的配置,会先执行Before 的声明下方法,然后再执行,Around 声明下的方法,在该方法里,执行到proceed 该字段时,回去调用 add的原方法,然后再到 after 方法里,再到proceed 字段下面的内容
分享到:
评论

相关推荐

    spring_AOP.rar_876.aop_java aop_spring_aop

    2. ch20_aop_annotation:这部分内容可能是关于使用注解来定义和实现切面的教程。 3. ch18_aoptest:可能是一些AOP的测试案例,用于演示如何在实际应用中使用和测试AOP功能。 4. ch18_aop:可能是关于AOP基础理论或...

    Spring_Annotation_AOP

    在本资料"Spring_Annotation_AOP"中,我们将深入探讨Spring框架如何利用注解实现AOP,以及其背后的原理和实践应用。 面向切面编程(AOP)是一种编程范式,旨在提高代码的可维护性和可重用性,通过将关注点分离,...

    Spring_aop_annotation.zip

    本实践项目以"Spring_aop_annotation.zip"为载体,展示了如何利用注解在Spring框架中实现AOP的功能。下面将详细阐述该项目中的关键知识点。 一、Spring AOP概念 AOP是Aspect Oriented Programming的缩写,它是一种...

    Spring_02_入门篇_AOP_简单实例

    5. **<aop:args>,<aop:within>,<aop:target>,<aop:annotation>**:在XML配置中,可以使用这些元素来辅助定义切入点,功能与注解模式中的注解类似。 **五、实例演示** 在提供的压缩包文件中,可能包含了创建...

    学习Spring笔记_AOP_Annotation实现和XML实现

    这篇“学习Spring笔记_AOP_Annotation实现和XML实现”主要探讨了如何在Spring中利用注解和XML配置来实现AOP的概念。 AOP,全称Aspect-Oriented Programming,是一种编程范式,旨在将关注点分离,让开发者可以更专注...

    Spring_AOP_before.rar_AOP@before怎么用_Before

    下面将详细阐述`@Before`注解的使用方法及其背后的原理。 **1. AOP的基本概念** AOP是一种编程范式,它将关注点模块化为独立的“切面”,每个切面封装了特定的职责,如日志记录、安全检查或事务处理。通过AOP,我们...

    spring aop实例annotation方法实现

    本实例将详细探讨如何通过注解(Annotation)来实现Spring AOP的方法拦截。 一、Spring AOP基础 Spring AOP是Spring框架的一部分,它提供了一种在运行时织入横切关注点(如日志、事务管理等)到目标对象的能力。AOP...

    Spring_aop.rar_spring aop

    - **XML配置的AOP**:在Spring配置文件中定义<aop:config>元素,使用<aop:aspect>定义切面,<aop:before>、<aop:after>等定义通知,<aop:pointcut>定义切入点。 **4. 应用示例** 假设我们有一个`UserService`,需要...

    spring_day03_spring_

    "day03_eesy_03springAOP"直指Spring AOP的核心概念。AOP是Spring的重要特性,它允许开发者定义“切面”,这些切面可以插入到代码的特定点(称为“连接点”),如方法调用前或后。这使得我们可以将关注点如日志、...

    spring 2.0使用AOP实例(基于Annotation的配置方式)

    Spring 2.0引入了基于注解的AOP配置,极大地简化了AOP的使用。这篇博客文章将探讨如何在Spring 2.0中使用AOP实例,特别是通过注解来实现。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了...

    以注解方式模拟Spring IoC AOP

    在Spring框架中,依赖注入(Inversion of Control, IoC)和面向切面编程(Aspect Oriented Programming, AOP)是两大核心特性。本篇将深入探讨如何通过注解方式来模拟Spring的这两种机制,帮助你理解其底层原理。 #...

    Spring_Hibernate_JAVAX_Annotation注解

    ### Spring_Hibernate_JAVAX_Annotation 注解详解 #### 一、概述 本文将详细介绍与SSH(Spring+Struts+Hibernate)开发相关的注解。这些注解覆盖了多个领域,如AspectJ、Batch处理、Spring框架本身的功能(包括...

    spring-nested-aop.zip_aop_spring aop

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的一个重要组成部分。它提供了一种模块化和声明式的方式来处理横切关注点,如事务管理、日志记录、性能监控等,这些关注点通常会分散在...

    springboot+aspect实现springaop拦截指定方法.zip

    SpringBoot结合AspectJ实现SpringAOP拦截指定方法的知识点涵盖了多个方面,这包括Spring AOP的基本概念、SpringBoot的应用、切点(Pointcut)与通知(Advice)的定义、自定义注解以及AspectJ的使用。以下是这些知识...

    Spring2.5 自动扫描classpath

    3. **Spring_demo_05_aop_annotation** - 这个示例可能涉及使用注解进行AOP配置,比如@Aspect、@Before、@After等,这些注解使得AOP的使用更加直观。 4. **Spring_demo_01** - 基础入门示例,可能包含Spring的基本...

    【Spring AOP】@Aspect结合案例详解(一): @Pointcut使用@annotation + 五种通知

    在微服务流行的当下,在使用SpringCloud/Springboot框架开发中,AOP使用的非常广泛,尤其是@Aspect注解方式当属最流行的,不止功能强大,性能也很优秀,还很舒心!所以本系列就结合案例详细介绍@Aspect方式的切面的...

    aop_log.rar_spring aop

    这个"aop_log.rar_spring aop"的压缩包可能包含了一个示例项目,演示了如何在Spring环境中集成和使用AOP进行日志管理。通过研究和学习这个例子,开发者可以更好地理解和掌握Spring AOP在日志记录方面的应用。

    spring中aop的简单使用(Annotation方式)

    本文将详细介绍如何在Spring中使用AOP,特别是通过注解的方式。 首先,我们需要理解AOP的基本概念。AOP的核心是切面(Aspect),它封装了特定的关注点,如日志记录或事务管理。切点(Pointcut)定义了在何时应用...

    简单spring aop 例子

    以上就是Spring AOP的基本用法。在实际项目中,你可以根据需求定义不同的通知类型,如`@After`、`@Around`、`@AfterReturning`和`@AfterThrowing`,以及复杂的切入点表达式。通过这些,你可以实现更精细的控制,如只...

Global site tag (gtag.js) - Google Analytics