AspactJ常见注解
@Pointcat:定义切入点
@Before:前置通知,调用匹配方法之前执行
@AfterReturning:后置通知,通常在一个方法返回的时候执行
@AfterThrowing:异常通知,抛出异常通知在一个方法抛出异常后执行
@After:最终通知,不论一个方法是如何结束的,最终通知都会运行,通常用它来释放资源。
@Around:环绕通知,环绕通知在一个方法执行之前和之后执行,它使得一个通知有机会在方法之前和之后进行,而且它可以决定一个方法什么时候执行,如何执行,甚至是否执行。
Pointcat
切入点表达式execution(*test(*))&&args(param)
例:@Pointcut("execution(public void com.mihe.dao.impl.StudentDaoImpl.*Student())")
起首execution(*test(*))匹配任何方法名为test,且有一个任何类型的参数
args(param)可以匹配参数
修饰符是可选的
返回值是必填的,但可以用*表示统配
类型声明可选,也可以是任何类型
方法名必填,但也可以用*做模糊匹配,比如上例就是匹配所有以Student结尾的方法
参数列表:
()表示没有参数
(..)表示匹配接收任意个参数
(..,java.lang.String)表示匹配最后一个参数是字符串,前面可以有任意多个任意类型的参数
(*,java.lang.String)表示匹配最后一个参数是字符串,前面只可以有一个任意类型的参数
异常也可以匹配,全名就可以,如果有负数个就用都好分割。
AspectJ的xml实现
在Srping配置文件中,所有AOP相关的定义必须放在<aop:config>标签下,该标签下可以有<aop:pointcut><aop:advisor><aop:aspect>标签,配置顺序不可变
<aop:pointcut>用来定义切入点,该切入点可以重用
<aop:advisor>用来定义只有一个通知和一个切入点的切面
<aop:aspect>用来定义切面,该切面可以定义多个切入点和通知,而且标签内部通知和切入点是无序的,
配置切入点
<aop:pointcut expression="execution(public void com.mihe.dao.impl.StudentDaoImpl.*Student())" id="studentPointcat"/>
配置切面
<aop:aspect id="studentAspect" ref="studentAspectJInterceptor">
<aop:before method="beforeMetord" pointcut-ref="studentPointcat"/>
<aop:after-returning method="afterReturningMetord" pointcut-ref="studentPointcat" returning="s"/>
</aop:aspect>
相关推荐
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
这篇“学习Spring笔记_AOP_Annotation实现和XML实现”主要探讨了如何在Spring中利用注解和XML配置来实现AOP的概念。 AOP,全称Aspect-Oriented Programming,是一种编程范式,旨在将关注点分离,让开发者可以更专注...
本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在MyEclipse中编写Spring配置...
马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...
Spring框架是Java开发中广泛应用的轻量级...这份"Spring框架学习笔记"会深入探讨以上各个知识点,通过PDF文档的形式,提供详细的讲解和实例,对于想要深入了解和学习Spring框架的人来说,无疑是一份实用的学习资源。
在本篇"Spring 学习笔记二"中,我们将深入探讨Spring框架的核心概念和技术细节,以便更好地理解和使用这个广泛应用于企业级Java开发的框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...
### Spring学习笔记:深入理解AOP与Annotation驱动的动态代理 #### 核心知识点解析: 在探讨Spring框架中AOP(面向切面编程)及基于Annotation的动态代理之前,我们首先需要了解AOP的基本概念及其在Spring中的实现...
在本篇Spring学习笔记中,我们将深入探讨如何利用Spring框架的注解方式来实现面向切面编程(AOP)。AOP是一种编程范式,它允许我们定义横切关注点,如日志、事务管理等,然后将这些关注点模块化并插入到应用程序的多...
Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...
在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...
Spring支持通过编程方式和XML配置来实现AOP。 在上述示例中,我们看到了如何通过实现`AfterReturningAdvice`和`MethodBeforeAdvice`接口来创建通知,分别用于在方法执行后和执行前插入自定义逻辑。然后,通过XML...
本篇笔记主要关注Spring中的注解(Annotation)和@Component,这两大概念是Spring框架的重要组成部分,也是理解SpringIoC(控制反转)和AOP(面向切面编程)的基础。 首先,注解(Annotation)是Java提供的一种元...
以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...
### Spring Boot 学习笔记知识点总结 #### 一、Spring发展史 - **Spring1.x时代**:在Spring1.x的时代,主要通过XML文件来配置Bean。随着项目的规模扩大,XML配置文件的数量也随之增加,这导致开发人员需要频繁地...
### Spring学习笔记(有代码有注解解释) #### Spring框架两大核心机制——IoC与AOP ##### IoC(控制反转)/DI(依赖注入) **IoC** 是 Inversion of Control 的缩写,意为“控制反转”。而 **DI**(Dependency ...
Spring 5 框架学习笔记 本笔记主要介绍了 Spring 5 框架的相关知识点,包括 IoC 原理分析、基于 XML 的 IoC 实现、基于 XML 的 DI 使用、基于注解的 IoC 实现、Spring 纯注解实现方式、Spring 整合 Junit、Spring ...
在本篇"Spring 学习笔记六"中,我们将深入探讨Spring框架的核心概念和技术细节,同时结合源码分析,以提升对Spring的理解和应用能力。本文档主要关注Spring的依赖注入(Dependency Injection,DI)机制、AOP(面向切...