本站首页    管理页面    写新日志    退出


«July 2025»
12345
6789101112
13141516171819
20212223242526
2728293031


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7569592
建立时间:2006年5月29日




[AOP]关于AspectJ 中的pointcut 语法
软件技术

lhwork 发表于 2006/10/18 9:57:59

    这两天忙着看AspectJ in Action 为了补一下AOP知识。看了Spring 2.0的规范,其中AOP部分已经基本融合了AspectJ,看来有必要看一看AspectJ了。
   看了很多AOP的文章了,AOP这两年发展的很慢,没有什么新意,现在到处都是SOA,SCA了,不过研究了一下,觉得还是很有帮助的。尤其是增加系统的契约性和模块的独立性来说,很有帮助。
   当然,学东西,基础很重要。下面就说说AspectJ中的基本语法,有兴趣的可以看看AspectJ in Action。
   先来说说pointcut,从字面的意思说的是切面的意思。也就是横切的时候,会有哪些执行点会被识别。只有先识别了,才能执行相应的Advice。
   基本的定义如下:
  
   public pointcut accountOpera


阅读全文(4431) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]使用 AOP 来维护遗留 Java 应用程序
软件技术

lhwork 发表于 2006/9/25 14:31:04

如果您曾经接管并且必须维护某个基于 Java 的应用程序,那么本文就是为您准备的。作者 Abhijit Belapurkar 将向您展示如何使用面向方面编程(aspect-oriented programming,AOP)来对即使最不透明的遗留应用程序获得前所未有的见解。 软件系统通常从一 组有限的得到良好理解的需求开始。然而,随着大多数成功系统的演进,它们承担起越来越多的需求,体现在无数的功能和非功能性方面。在一个企业环境中,您最 终很容易向这个混乱的模块组合添加许多第


阅读全文(4371) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]横切关注点的两种实现方法
软件技术

lhwork 发表于 2006/9/25 14:29:09

软件系统,可看作由一组关注点组成。其中,直接的业务关注点,是直切关注点。而为直切关注点提供服务的,就是横切关注点。有两种方法可以提供横切关注点,一种是传统的OOP方法,提供一个与直切关注点的实现一样的类来提供服务。另一种是最新的AOP方法,提供一个

阅读全文(2746) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]Spring AOP学习笔记
软件技术

lhwork 发表于 2006/9/25 14:28:12

需明确的几个概念:l
阅读全文(3191) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP][转]AOP及其Java实现机制
软件技术

lhwork 发表于 2006/9/25 14:27:36

1引言
传统的编程技术,采用分解的方式将一个软件系统划分为相对较小的、易于分析、理解的模块,如果这些模块仍难以分析、理解,则迭代的将其分解 为更小的模块,直到这些模块可以容易的分析、理解、设计与编码。通过对这些模块进行分析,设计,然后使用相应的编程语言实现这些模块,再以编程语言所定义 的方式将这些模块组装起来,形成最终的软件系统。例如,面向过程编程中,将系统分解为完成单一功能的函数,并通过函数之间的调用完成复杂的功能,最终形成 这个系统。面向对象编程中,通过分析,抽象出一系列具有一定属性与行为的对象,并通过这些对象之间的协作完成系统的功能。
传统的编程技术倾向于按 照功能或行为对软件系统进行分割,这个分割的结果是实现某一功能的模块,如函数、过程、类等。但在编程实践中,人们认识到,软件系统中有些行为无法封装在 单个的模块中,例如日志记录、事物处理、对上下文敏感的错误处理、性能优化等等。通常这些功能与行为不实现系统的业务功能,但辅助这些功能的实现,并散布 在实现系统功能的诸多模块中,从而造成代码的纠结,这使得实现系统功能的模块的代码难于阅读、理解、调试、维护和

阅读全文(4511) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]AspectJ学习笔记(三)
软件技术

lhwork 发表于 2006/9/25 14:26:36

AspectJ主要有三个地方: JIONPOINT POINTCUT ADVICE下面就从POINTCUT 的指示符和有关的上下文关系,反射开始:thisJoinPoint.getSignature():thisJoi,nPoint是ASPECTJ上下文定义的的一个类:可以访问切口环境,输出的结果是连接点的方法签名,比如(String Test.getName())  pointcut uniqueLog(String s) : call(public void helloWorldUnique(String)) && args(s);
  before(String s) : uniqueLog(s) { System.out.println("Passed value = " + s);}:可以访问主JAVA文件中方法的参数,4个地方的变量必须一致下面几个关于访问上下文环境的import org.aspectj.lang.*;
import org.

阅读全文(3237) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]AspectJ学习笔记(二)
软件技术

lhwork 发表于 2006/9/25 14:26:16

前面讲过一个关于AspectJ的例子,其实不用这么麻烦,现在可以在他的官方网站下载最新的JAR包,直接安装就可以了,安装完成以后有两个地方海上是需要设置一下1.PATH里面加上${AspectJ HOME}\BIN2.CLASSPATH里面加上${AspectJ HOME}\LIB这样环境就OK了,很简单把!下面就实现一个经典的HELLO WORLD!例子:class Test {
  public void helloWorld() {
    System.out.println("Hello World");
  }  public static void main(String args[]) {
    Test test = new Test();
    test.helloWorld();
  }
}这个是个纯J

阅读全文(3633) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]AspectJ学习笔记[01]
软件技术

lhwork 发表于 2006/9/25 14:25:16

动态横切(Dynamic Crosscutting) 动态横切指的是在一个程序的执行时插入一段新的行为。在AspectJ中发生的横切大都是动态的。
静态横切(Static Crosscutting)静态横切指的是对程序的静态结构进行修正的行为——如系统的类、接口、方面等。它不能更改系统的执行动作。


阅读全文(3267) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]跟我学AspectJ(五)
软件技术

lhwork 发表于 2006/9/25 14:24:38

第三章         AspectJ

阅读全文(2850) | 回复(0) | 编辑 | 精华 | 删除
 


[AOP]跟我学AspectJ(四)
软件技术

lhwork 发表于 2006/9/25 14:23:32

第二章          AspectJ

阅读全文(4298) | 回复(0) | 编辑 | 精华 | 删除
 


« 1 2 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.117 second(s), page refreshed 144761077 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号