<menu id="mqgc0"></menu>
  • <menu id="mqgc0"></menu><menu id="mqgc0"></menu><input id="mqgc0"><u id="mqgc0"></u></input>
    <input id="mqgc0"><u id="mqgc0"></u></input>
  • <optgroup id="mqgc0"></optgroup>
  • <input id="mqgc0"><tt id="mqgc0"></tt></input>
  • spring aop cglib_aop中cglib_spring 3 aop xml 配置

    电脑杂谈  发布时间:2017-01-03 16:10:45  来源:网络整理

    AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强;而动态代理则在运行时借助于 JDK 动态代理、CGLIB 等在内存中“临时”生成 AOP 动态代理类,因此也被称为运行时增强。

    在今天之前,我还以为AspectJ 是Spring的一部分,因为我们谈到Spring AOP一般都会提到AspectJ。原来AspectJ是一套独立的面向切面编程的解决方案。下面我们抛开Spring,单纯的看看AspectJ。

    AspectJ 安装

    AspectJ 下载地址()。spring aop cglib

    下载AspectJ jar包,然后双击安装。安装好的目录结构为:

    bin:存放了 aj、aj5、ajc、ajdoc、ajbrowser 等命令,其中 ajc 命令最常用,它的作用类似于 javac

    doc:存放了 AspectJ 的使用说明、参考手册、API 文档等文档

    lib:该路径下的 4 个 JAR 文件是 AspectJ 的核心类库

    AspectJ HelloWorld 实现

    业务组件  SayHelloService
    package com.ywsc.fenfenzhong.aspectj.learn;
    public class SayHelloService {
     public void say(){
         System.out.print("Hello  AspectJ");
     }
    } 
    需要来了,在需要在调用say()方法之后,需要记录日志。那就是通过AspectJ的后置增强吧。
    LogAspect 日志记录组件,实现对com.ywsc.fenfenzhong.aspectj.learn.SayHelloService 后置增强
    package com.ywsc.fenfenzhong.aspectj.learn;
    public aspect LogAspect{
     pointcut logPointcut():execution(void SayHelloService.say());
     after():logPointcut(){
          System.out.println("记录日志 ..."); 
     }
    }

    编译SayHelloService

    执行命令   ajc -d . SayHelloService.java LogAspect.java
    生成 SayHelloService.class
    执行命令    java SayHelloService
    输出  Hello AspectJ  记录日志
    ajc.exe 可以理解为 javac.exe 命令,都用于编译 Java 程序,区别是 ajc.exe 命令可识别 AspectJ 的语法;我们可以将 ajc.exe 当成一个增强版的 javac.exe 命令.执行ajc命令后的 SayHelloService.class 文件不是由原来的 SayHelloService.java 文件编译得到的,该 SayHelloService.class 里新增了打印日志的内容——这表明 AspectJ 在编译时“自动”编译得到了一个新类,这个新类增强了原有的 SayHelloService.java 类的功能,因此 AspectJ 通常被称为编译时增强的 AOP 框架。


    本文来自电脑杂谈,转载请注明本文网址:
    http://www.pienmashup.com/a/jisuanjixue/article-24494-1.html

    相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 何山越
      何山越

      他马云高互联网也可能的确不需要行贿

    热点图片
    拼命载入中...
    重庆彩票