zoukankan      html  css  js  c++  java
  • Spring AOP(面向切面编程)

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

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

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

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

    1,新建一个切面(Aspect)

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

    2.注解

    3.实现

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

     

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

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

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

    生命不止,折腾不息
  • 相关阅读:
    ASP计算周开始和一年有多少周及某年第一周开始日期
    http://www.lancen.net/
    JSP的对象
    两个SQL语句
    sql 分頁
    网页特效制作汇总
    存储过程 解密
    一个计算周次和本周时间范围的代码(c#)
    Java试题
    如何在 VS 2005 里调试 Javascript
  • 原文地址:https://www.cnblogs.com/steakliu/p/11182333.html
Copyright © 2011-2022 走看看