在Spring 2.0中集成AspectJ - 编程入门网
法编写的。②处通过通配符指定需要进行织入操作的目标类。通过..*将需要处理的目标类限制在项目类包下是一个比较好的方法,否则织入器将对所有类进行操作,而这并不是我们期望的行为。
AspectJ织入切面结合Spring IoC容器管理切面实例 让AspectJ为Java类提供切面织入服务,同时让目标类和切面类享受Spring IoC依赖注入功能,这样,两者是紧密地集成在一起了。 首先,我们来看一下需要AspectJ进行切面织入的目标类:
Waitress拥有一个name属性和一个serveTo()方法。现在我们需要通过AspectJ为Waitress进行切面织入,以便在侍者提供服务之前强制使用礼貌用语:
(注:为了能够编写AspectJ的切面,你首先需要从http://www.eclipse.org/aspectj/downloads.php下载AspectJ开发插件,以支持AspectJ语法。目前AspectJ分别为Eclipse、JBuilder、NetBeans、JDeveloper IDE.以及Emacs and JDEE提供了插件。) TestAspectj切面类将对Waitress的serveTo()方法进行前置增强,在①处定义了切点,在②处定义了前置增强方法。此外,该切面类还拥有一个message属性,用于提供规范的服务前礼貌用语,我们希望通过配置,在Spring IoC容器中注入该属性。 在Spring配置文件中,我们可以按配置一般Bean相似的方式配置AspectJ切面类(TestApectj)和织入AspectJ的目标类(Waitress):
在Spring 2.0中集成AspectJ(3)时间:2011-01-02 陈雄华注意,配置AspectJ切面类里,需要指定factory-method="aspectOf"属性,以便确保Spring从AspectJ获取切面实例,而非自己创建该实例。 为了让ThreadAspectj起作用,当然我们需要调整aop.xml的配置:
运行以下的测试代码(同样的,你需要为该类设置JVM javaagent参数): |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |