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

spring aop 切入点配置,重用切点表达式

 
阅读更多

  spring aop 配置时,需要多处配置切入表达式,这时候可以使用重用切入点表达式,代码如下。




@Order(1)
@Aspect
@Component
public class AspejctBean {

	/**
	 * 定义一个切入点  提供重用
	 */
	@Pointcut("execution(public int com.jfn.spring.aop.impl.UserserviceImpl.*(..))")
	public void declareJoinPointExpresstion(){

	}

	/**
	 * 同一个包下面直接 使用 declareJoinPointExpresstion() 不同包下引用,需加上包路径和类名
	 * @param joinpoint
	 */
	@Before("com.jfn.spring.aop.aspejct.AspejctBean.declareJoinPointExpresstion()")
	public void beforceclass(JoinPoint joinpoint){
		// 方法签名和参数
		System.out.println(joinpoint.getSignature()+"---"+Arrays.asList(joinpoint.getArgs()));
		System.out.println("这是开始啊");
	}


	@After("com.jfn.spring.aop.aspejct.AspejctBean.declareJoinPointExpresstion()")
	public void alterclass(JoinPoint joinpoint){
		// 方法签名和参数
		System.out.println(joinpoint.getSignature()+"---"+Arrays.asList(joinpoint.getArgs()));
		System.out.println("这是结束啊");
	}
}
分享到:
评论

相关推荐

    spring aop所需jar包

    - XML配置:在Spring配置文件中定义切面、通知和切入点。 - 注解配置:使用`@EnableAspectJAutoProxy`开启基于注解的AOP支持,并在类上使用`@Aspect`定义切面。 - 自动代理:Spring会根据配置自动生成代理对象,...

    SpringAOP介绍1

    AspectJ Pointcut表达式用于精确地定义切入点,决定何时以及在哪里应用通知。例如,`execution(* com.sample.service.impl..*.*(..))`这个表达式表示拦截com.sample.service.impl包及其子包下所有类的所有方法。 - ...

    最简单的SpringAOP入门案例

    在Spring AOP中,切面可以由一个类定义,该类包含通知(advice)和切入点表达式(pointcut expression)。 2. **通知(Advice)**:通知是在特定连接点上执行的代码,它可以是前置通知(before advice)、后置通知...

    3.SpringAOP.pdf

    例如,使用注解 "@Aspect" 标记一个类为切面类,然后通过 "@Before"、"@After" 等注解来定义通知,并通过切入点表达式来指定在哪些连接点执行相应的通知。 示例代码: ```java @Service("accountService") public ...

    spring-aop

    3. **org.springframework.aop.aspectj**:此包与AspectJ库集成,提供了基于注解的切面定义和更强大的切点表达式。AspectJ是AOP的一个独立实现,Spring AOP通过这个包支持AspectJ的注解和字节码级别的切面定义,使得...

    对Spring的AOP标签的支持

    Spring的AOP支持主要体现在XML配置文件中,其中包含了多种标签来定义切面、通知(advises)、切点(pointcuts)等。以下是一些关键的AOP标签及其用途: 1. `<aop:config>`:这是AOP配置的根元素,用于开启AOP功能。...

    Spring_AOP_Demo

    XML配置通过<aop:config>元素声明切面,<aop:pointcut>定义切入点,<aop:advisor>定义通知。注解方式则更简洁,使用@Aspect、@Before、@After等注解直接在切面类中定义切点和通知。 五、AOP实战 在“暗黑肉夹馍诞生...

    AOP基于注解配置.zip

    通常会包含创建切面类、定义通知方法、编写切入点表达式,以及在主配置类中启用AOP支持的过程。 通过以上内容,你应该对Spring框架中基于注解的AOP配置有了深入理解。实际开发中,灵活运用AOP可以极大地提高代码的...

    Spring5种增强代码

    2. XML配置的切面:在Spring的XML配置文件中,使用`<aop:config>`标签定义切面,`<aop:advisor>`标签定义通知,以及`<aop:pointcut>`标签定义切入点。 3. 自动代理:Spring AOP可以自动创建代理来拦截目标对象的...

    AOP的实现机制.

    4. 切点匹配:Spring使用AspectJ的切点表达式语言(Pointcut Expression Language, PEL)来定义切点。PEL允许开发者使用方法名、参数类型、注解等信息来编写复杂的匹配规则。 5. 通知顺序:Spring支持五种类型的...

    springboot的aop使用

    通常用表达式来定义切入点,如使用AspectJ的切点表达式。 4. 通知(Advice):在切点定义的连接点上执行的动作,它是切面的一个功能。Spring定义了五种类型的通知:前置通知(Before)、后置通知(After)、返回...

    Spring AOP的使用详解

    2. 使用注解定义切面和通知,例如使用@Aspect注解定义切面,使用@Pointcut注解声明频繁使用的切入点表达式。 3. 在applicationContext.xml中添加配置,启用AspectJ的自动代理。 AOP的应用场景: 1. 日志记录。 2. ...

    aop所需最少jar包

    4. 编写切入点表达式:使用AspectJ的表达式语言定义切点,例如`execution(* com.example.service.*.*(..))`匹配com.example.service包下的所有方法。 5. 定义通知:使用`@Before`、`@After`、`@AfterReturning`、`@...

    spring05-1

    除了基础的注解,Spring还提供了`@Pointcut`注解来定义可重用的切入点,并且可以结合`@Before`, `@After`, 等进行使用。例如: ```java @Pointcut("execution(* com.example.service.*.*(..))") public void ...

    AOP Detail

    在AOP中,我们通常使用切入点表达式来描述这些点,这些表达式基于源代码的元数据(如类名、方法名、参数类型等)。例如,`execution(* com.example.service.*.*(..))`表示匹配`com.example.service`包下所有类的所有...

    IOC和AOP深刻理解基础代码测试

    在Spring中,切面可以是通知(advice,如前置通知、后置通知等)、切点(pointcut,定义何时执行通知)以及切入点表达式(定义哪些方法会被通知)。这样,我们可以在不修改原有业务代码的情况下,添加新的功能或修改...

    基于注解方式声明切面(AOP)

    在编程领域,面向切面编程(Aspect Oriented Programming,简称AOP)是一种设计模式,它旨在提高代码的可重用性和可维护性,通过将关注点...通过阅读`springAOP`压缩包中的文件,你可以进一步深入理解和实践这些概念。

    Spring 3.0就这么简单源码Maven的jar包001

    在AOP(面向切面编程)方面,Spring 3.0提供了更灵活的切入点表达式语言(Pointcut Expression Language),使得切点定义更为直观。此外,还引入了可重用的切面(AspectJ LTW,Load-Time Weaving),使得切面可以在...

    AOPConsoleTestPointcut

    Spring AOP提供了切点表达式(Pointcut Expression)来精确地定义连接点。例如,你可以通过`@Pointcut`注解定义一个切点,并在其中使用通配符、方法名、包名等来指定感兴趣的连接点。下面我们将深入探讨相关的知识点...

Global site tag (gtag.js) - Google Analytics