Java面向方面编程概述 - 编程入门网
ain(String[] args)
{
POJO pojo = new POJO();
pojo.helloWorld();
}
}
TracingInterceptor将监听main ()、POJO ()和helloWorld ()的调用。输入为:
Entering method: main
Entering constructor: public POJO()
Leaving constructor: public POJO()
Entering method: helloWorld
Hello World!
Leaving method: helloWorld
Leaving method: main
你可以到http://www.jboss.org/index.html?module=html&op=userdisplay&id=developers/projects/jboss/aop去下载JBoss AOP和例程代码。 编译和执行:
JBoss AOP操作字节码,附加到监听器上。因为没有编译步骤,AOP运行时间必须全局控制ClassLoader。所以如果你在JBoss应用程序服务器以外运行的时候,你必须使用一个JBoss指定的classloader覆盖系统classloader。 例2、使用元数据 TracingInterceptor不追踪字段访问,因为它有点太冗长。对于开发者来说,实现get()和set()方法来封装字段访问是一个惯例。如果TracingInterceptor可以过滤而不是跟踪这些方法,那将非常好。 这个例子向你说明,如何使用JBoss AOP元数据来实现基于一个每方法结构的过滤。通常,元数据被用于更复杂的,如定义事务属性、每方法安全角色或者持久映射,但是这个例子将足以说明元数据如何被用于一个能使用AOP的应用程序。 定义类元数据 为了添加这个过滤功能,我们将提供了一个标志,你可以使用它来关闭跟踪。 我们将回到我们的AOP XML文件,来定义将删除对get()和set()方法的跟踪的标记。 实际上,跟踪main()函数也有点意义不大,所以让我们也把这个跟踪给过滤掉。
上面的XML定义一组名为tracing的属性。 过滤属性将被附加到每个以get或set开头的方法。 正则表达式格式使用JDK 1.4定义的表达式。 这个元数据可以在TracingInterceptor里通过Invocation对象访问。 访问元数据 对于有用的元数据,它必须在运行时间可访问。 类元数据可以通过Invocation对象访问。 为了在我们的例子中使用它,必须稍微修改一下TracingInterceptor。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |