`
annan211
  • 浏览: 461338 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring 设置切入点,在特定方法之前执行特定逻辑代码

 
阅读更多
第一步 加入jar包  aspectjweaver.jar aspectj织入jar包 ;aspectjrt.jar aspect runningtime aspect运行时环境jar包
第二步 配置xml文件 在xml文件加入
 
  <aop:annoaction-config/>
  <aop:aspect-autoproxy/>
 <context:component-scan base-package="com.bjsxt" />

这句话的意思是 在需要的时候 spring会自动创建动态代理
逻辑代码如下
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 {
			
	@Before("execution(public void com.bjsxt.service.save(com.bjsxt.model.User))")
	public void before() {
		System.out.println("method before");
	}
	
}


具体流程如下:容器扫描 com.bjsxt 路径 ,发现 LogInterceptor  是一个 Component(组件) 而且是一个 Aspect(切面) 并且 @Before("")
所以在执行 save方法之前 会调用 切面逻辑 before() . LogInterceptor 是独立的且不受其他组件影响的逻辑块,执行与否完全自己决定.





分享到:
评论

相关推荐

    springaop中切入点表达式完整示例代码

    在Spring AOP(面向切面编程)中,切入点表达式是定义通知(advice)执行时机的关键元素。本文将深入探讨9种不同的切入点表达式及其用法,通过实际的示例代码来帮助理解它们的工作原理。 1. **execute()**: `...

    详解Spring 框架中切入点 pointcut 表达式的常用写法

    在Spring框架中,切入点(pointcut)表达式是AOP(面向切面编程)的核心组成部分,用于定义关注点的精确位置,比如哪些方法应该被拦截。切入点表达式是基于AspectJ语法的,允许开发者精确地指定要拦截的方法。下面将详细...

    使用切入点匹配方法实现Spring AOP环绕通知

    它可以在方法执行前做一些预处理,方法执行后做一些后处理,甚至可以选择是否执行方法本身。 实现环绕通知,我们需要创建一个实现了`org.aopalliance.intercept.MethodInterceptor`接口的类,并重写`invoke()`方法...

    Java EE,Spring基础及应用-切入点(Pointcut)

    在Spring中,切入点是通过特定的表达式或者注解来声明的,它定义了方法执行的特定位置,例如,当某个特定的方法被调用时,或者当满足某种条件(如方法的参数类型、返回值等)时。切入点表达式通常使用 AspectJ 的...

    Spring aop代码

    通知是在特定连接点执行的代码,它可以是前置通知(在方法调用前执行)、后置通知(在方法调用后执行)、异常通知(在方法抛出异常时执行)等。连接点是程序执行中的一个特定点,如方法的调用。切入点是匹配一组连接...

    Spring5种增强代码

    1. 前置通知(Before Advice):在目标方法执行之前执行,通常用于执行校验操作或者初始化工作。 2. 后置通知(After Advice):在目标方法执行之后执行,无论方法是否正常结束。可以用来进行资源清理或者记录方法...

    Spring AOP 所有切入点指示符详解.docx

    总的来说,Spring AOP通过使用这些切入点指示符,可以灵活地控制切面在何处、何时以及如何应用,从而实现高度模块化的代码结构,提高代码的可维护性和可重用性。理解并熟练掌握这些切入点指示符,对于高效地利用...

    Spring AOP授课代码

    通过`SpringAOPLab`这个压缩包中的代码,我们可以学习如何在实际项目中应用上述概念,理解Spring AOP的工作原理,并掌握如何创建和配置切面、通知以及切入点。通过实践,你将更深入地了解如何利用Spring AOP来提升...

    spring知识点代码示例整理

    在没有注解的情况下,切面、通知和切入点可以通过 `&lt;aop:config&gt;`、`&lt;aop:aspect&gt;`、`&lt;aop:pointcut&gt;` 和 `&lt;aop:before&gt;` 等元素来配置。 3. **Spring IOC(控制反转)** - `spring_ioc_xml` 文件夹包含使用 XML ...

    Spring最新源代码

    通知定义了在特定连接点上执行的行为,切入点定义了这些通知应用的具体位置,而切点表达式则是用于匹配切入点的规则。 6. **数据访问集成**:Spring提供了对各种数据库访问技术的支持,包括JDBC、ORM(Object-...

    跟我学Spring3(6.5)AspectJ切入点语法详解

    在Spring AOP中,切入点是程序执行流程中的一个特定点,比如方法的调用、异常的抛出等。切入点定义了我们关注的代码片段,这些片段是我们想要添加横切关注点(如日志、事务管理)的地方。 AspectJ切入点语法主要由...

    Spring Aop Advise方法(增强方法) 中获取目标方法的参数

    - Spring AOP支持使用`@Aspect`注解声明切面,`@Before`, `@After`, `@Around`, `@AfterReturning`, `@AfterThrowing`注解用于声明不同的通知类型,这些注解可以指定切入点表达式,并在匹配的方法执行时应用通知。...

    spring的aop代码

    AOP的核心概念包括切面、通知、连接点、切入点等,这些概念将帮助我们理解如何在Spring中实现AOP。 1. **切面(Aspect)**:切面是AOP中的核心概念,它封装了关注点的模块化。在Spring AOP中,切面通常由一个或多个...

    spring-aop和注解的实例

    在`spring-aop`的压缩包文件中,你可能会找到包含这些概念的实例代码,包括如何创建切面、定义通知、设置切入点以及如何在Spring配置中启用AOP代理。这些实例可以帮助你更好地理解和应用Spring AOP,提高代码的可...

    Spring AOP代码示例

    2. 通知(Advice):通知是在特定的连接点(join point)执行的代码,它是切面的实现部分。Spring支持五种不同类型的通知:前置通知(Before)、后置通知(After)、返回后通知(After Returning)、异常后通知...

    spring aop实例annotation方法实现

    1. `@Before`注解:在目标方法执行之前执行,通常用于校验或准备操作。 2. `@After`注解:在目标方法成功执行之后执行,但不关心方法的返回值,常用于清理操作。 3. `@AfterReturning`注解:在目标方法成功执行并...

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

    在Spring框架中,AOP(面向切面...通过配置AOP,定义切面,设置前置通知,并使用合适的切入点表达式,我们可以实现对特定方法执行前的行为控制。这个小例子就是一个很好的起点,展示了如何在实际项目中应用这一技术。

    简单spring aop 例子

    通知定义了要执行的逻辑,切入点定义了何时执行。例如,我们可以创建一个名为`LoggingAspect`的类,包含一个`@Before`通知来记录方法调用前的信息: ```java import org.aspectj.lang.annotation.Aspect; import ...

    Spring切面简介示例代码

    总结来说,Spring切面编程提供了一种优雅的方式来处理横切关注点,通过定义切面、通知和切入点,我们可以将业务逻辑与非业务逻辑分离,使代码更加模块化,降低耦合度,提高代码的可维护性和复用性。通过学习和实践...

    Spring AOP编程实例

    在Spring中,可以使用`@Pointcut`注解定义切入点表达式,这些表达式基于方法签名、注解或其他条件来指定匹配的连接点。 **4. 将通知与切入点关联** 使用`@Before`、`@After`、`@AfterReturning`、`@AfterThrowing`...

Global site tag (gtag.js) - Google Analytics