码迷,mamicode.com
首页 > 编程语言 > 详细

Spring AOP(面向切面编程)

时间:2019-07-13 22:47:35      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:验证   系统   操作   alt   图片   ntc   实现   color   统一   

AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。

简单例子:在某个项目里,非管理员不能对某些业务进行操作,代码如下:

技术图片

 

技术图片

 从上面的代码我们可以看出这种方式达到了权限验证的功能,但是如果有100个方法的话,就会显得冗余,代码不好维护,这是传统的硬编码方式

 

我们对代码进行改进(以注解的方式)

1,新建一个切面(Aspect)

技术图片

 @Pointcut是切入点,我需要切入那些类或者那些方法,它有很多种方式(@annotation()   execution()  @within()  @target()  this()  等等 , 常用的是@annotation()  execution()

2.注解

技术图片

 

3.实现

技术图片

现在代码就变得简洁了,那个方法需要进行验证,我就加上注解就行

 

 

 再来一个日志管理的简单例子

技术图片

使用JoinPoint可以获取一些参数信息

技术图片

 

 

通过面向切面编程,将公共代码抽离出来,进行统一化的处理,更加有效提高代码质量,以上只是一些再简单不过的例子

 

Spring AOP(面向切面编程)

标签:验证   系统   操作   alt   图片   ntc   实现   color   统一   

原文地址:https://www.cnblogs.com/steakliu/p/11182333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!