考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Java语言程序设计 > 考试辅导 > 文章内容
  

全国计算机等级考试二级Java重点内容(59)

中华IT学院   【 】  [ 2016年12月26日 ]

1.AOP的概念及优点

  Aspect Oriented Programming面向方面编程.

  面对象编程的关注点是对象,面向方面编程以面向对象编程为基础,关注点是切面,切面组件可以作用在若干目标对象的方法上,封装了具有通用性的一些处理.例如日志记录,事务处理,异常处理等等.

  面向方面编程优点:将共通处理封装成了一个独立组件,利用配置形式作用在了某一批目标对象上,实现组件的重复利用,将切面和目标对象解耦,实现了低耦合应用.

   *a.切面(Aspect)

     封装了共通处理的组件,可用于切入到目标对象的处理方法中

   *b.切入点(Pointcut)

     用于指定目标对象和方法的一个表达式.是连接点的集合.

     连接点是切面组件与某一个目标对象方法的作用点,例如方法调用和异常发生

   *c.通知(Advice)

     用于指定切面功能切入目标对象方法的位置.例如切入到目标方法调用之前,目标方法调用之后等.

     通知类型:前置通知,后置通知,环绕通知,最终通知,异常通知

     try{

        //执行前置通知

        //执行环绕通知--前置

        执行目标对象方法

        //执行环绕通知--后置

        //执行后置通知

     }catch(Exception ex){

        //执行异常通知

     }finally{

        //执行最终通知

     }

 

   d.目标对象(Target)

     需要使用切面功能的,被切入的Bean对象.使用切入点表达式指定

   e.动态代理(AutoProxy)

     在Spring采用了AOP之后,从容器取出的目标对象是一个动态代理类型,调用代理对象方法时,代理对象会调用切面功能和目标对象功能.

     动态代理类生成技术:

      有接口的目标对象采用JDK Proxy技术.

      没有接口的目标对象采用CGLIB技术.

2.切入点表达式的定义

   1)方法限定execution

      execution(修饰符? 返回类型 方法名(参数类型) throws 异常?) 

     a.匹配com.tarena.UserDAO的save()方法

       execution(* com.tarena.UserDAO.save(..))

     b.匹配com.tarena.UserDAO的所有方法

       execution(* com.tarena.UserDAO.*(..))

     c.匹配com.tarena.UserDAO的所有public void方法

       execution(public void com.tarena.UserDAO.*(..))

     d.匹配com.tarena包下所有类型的所有方法

       execution(* com.tarena.*.*(..))

     e.匹配com.tarena包下及其子包所有类型的所有方法

       execution(* com.tarena..*.*(..))

     f.匹配UserDAO中有一个参数并且是String类型的方法

       execution(* com.tarena.UserDAO.*(java.lang.String))

  2)类型限定within

    within(类型)

    a.匹配com.tarena.UserDAO的所有方法

       within(com.tarena.UserDAO)

    b.匹配com.tarena包下的所有类的所有方法

      within(com.tarena.*)

    c.匹配com.tarena包下及其子包的所有类的所有方法

      within(com.tarena..*)

  3)id名限定bean

     bean(idOrName属性值)

    a.匹配容器中所有id或name属性值以dao结尾的bean对象

       bean(*dao)

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2006-2017 中华考试网(Examw.com) All Rights Reserved  营业执照