JavaEE简单示例——基于注解的AOP实现
创始人
2025-05-31 07:40:22
0

简单介绍:

之前我们介绍了关于XML的面向切面的编程,通过配置文件的方法,在不修改源代码的情况下完成了对已有方法的增强 除了基于XML配置文件的方式,我们还可以使用更简单的,基于注解的方式。

每一次,我们在使用面向切面的注解的时候,我们都要明确三个问题,插什么?插谁?插在哪? 这三个问题也就对应了我们面向切面中的切面,增强,切入点,关系。带着这样的问题去学习基于注解的AOP的实现会理解的比较快一点

使用方法:

首先,我们来介绍一下我们需要用到的注解:

@Aspect:配置切面
@Pointcut:配置切入点
@Before:配置前置通知
@After:配置后置通知
@Around:配置环绕通知
@AfterReturning:配置返回通知
@AfterThrowing:配置异常通知

这些注解都是写在切面中的,也就是说我们只需要一个切面类,一个目标类,然后在配置文件中添加 切面类的标签和目标类的标签,最后配置一下自动代理就可以了。

代码实现:

打开我们之前的基于XML配置方式的AOP的实现,我们对切面和XML配置文件进行改造一下,其他的类都不需要改变。

首先我们来到XML配置文件,我们把配置AOP的标签全部都删除,添加一个自动代理的标签:



然后来到我们的切面类中,在适当的地方添加我们的注解:

package Semester_4.AOP.Annotation_based_AOP;import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;@Aspect() //配置切面,其实就是声明这是一个切面
public class UserEnhancement {
//    配置切入点,关于切入点的配置需要说明一下
//    切入点需要配置在一个空方法上面,而之后在配置增强与切入点的关系的时候,我们需要将切入点的注解下面的方法的方法名当作参数填入到增强与切入点之间关系的注解的括号里面当作参数@Pointcut("execution(* Semester_4.AOP.Annotation_based_AOP.ActionUser.*(..))")public void point(){}
//    配置增强方法与被增强方法的关系@Before("point()")public void chink(){System.out.println("基于注解的模拟检查权限的过程……");}@After("point()")public void log(){System.out.println("基于注解的模拟写入日志的过程……");}
}

我们的测试类也是一样的,我们运行之前的测试类进行测试 

运行结果:

可以看到,我们依然正常完成了对已有方法的增强,并且使用注解的方式会更加的方便 

注意点:

在注解的使用中,首先就是对各个注解的作用一定要了解,对于不同的注解的使用方法一定要知道,其次就是我们要去在XML配置文件中需要添加一个自动代理的标签,才能让我们的自动代理的AOP发挥作用

相关内容

热门资讯

《南安军》原文、翻译及赏析 《南安军》原文、翻译及赏析《南安军》原文、翻译及赏析1  原文:  梅花南北路,风雨湿征衣。  出岭...
拼音版三字经全文 拼音版三字经全文  《三字经》体现了文化的浸润,这是纯样的民族文化的'浸润,不仅是对具体文字的感受,...
周易基础知识 周易基础知识  很多易经爱好者学习多年而无所得,主要原因就是不入门,没有真正理解阴阳五行真正的含义,...
描写母爱是什么排比句 描写母爱是什么排比句  母爱是一座高高的山,无论你有多大困难,她总是依靠的屏障。一起来看看母爱的排比...
苏轼《记承天寺夜游》全文翻译... 苏轼《记承天寺夜游》全文翻译注释及赏析  《记承天寺夜游》是宋代文学家苏轼创作的一篇古文,对月夜景色...
大同礼记原文及翻译 大同礼记原文及翻译  《大同》——《礼记·礼运》为西汉儒家学者所记之战国、秦汉间儒家的言论,下面是小...
《湖心亭看雪》原文和翻译 《湖心亭看雪》原文和翻译  本文用清新淡雅的笔墨,描绘了雪后西湖宁静清绝的景象,表现了游湖人的雅趣和...
《王居正字刚中扬州人》阅读答... 《王居正字刚中扬州人》阅读答案及原文翻译  王居正,字刚中,扬州人。少嗜学,工文辞。入太学,时习《新...
净土五经一论:心经 净土五经一论:心经  《心经》总纲就是三个字,一句话。三个字就是“空、不、无”;一句话就是“不可得,...
“雷大雨小”的意思 “雷大雨小”的意思 成语拼音: [léi dà yǔ xiǎo] ...
《望庐山瀑布》作者简介及鉴赏 《望庐山瀑布》作者简介及鉴赏  引导语:望庐山瀑布》是七言绝句,全诗充满夸张和浪漫主义色彩,将飞流直...
百家讲坛三字经全文 百家讲坛三字经全文  《三字经》里有很多哲学故事,给我们树立了许多榜样,告诉我们很多深刻道理,让我们...
安徒生《丑小鸭》的主要内容 安徒生《丑小鸭》的主要内容  《丑小鸭》是丹麦作家安徒生创作的童话,首次出版于1843年。下面是关于...
“擿伏发隐”的意思 “擿伏发隐”的意思 成语拼音: [niǎo fú fā yǐn] ...
“座上客”的意思 “座上客”的意思 成语拼音: [zuò shàng kè] ...
反义词词语 反义词词语大全  语言反义词是约定俗成的,大家都这样理解,不以上下文或语境为转移。收集了反义词词语及...
“靡所不为”的意思 “靡所不为”的意思 成语拼音: [mǐ suǒ bù wéi] ...
“中天婺焕”的意思 “中天婺焕”的意思 成语拼音: [zhōng tiān wù huàn] ...
“倚门卖笑”的意思 “倚门卖笑”的意思 成语拼音: [yǐ mén mài xiào] ...
“绝口不道”的意思 “绝口不道”的意思 成语拼音: [jué kǒu bù dào] ...