快速业务通道

Apache Geronimo和Spring 框架,第4部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
就准备好了。下一步要做的是引入方面。

引入 AOP 方面

在此部分中,将定 义接口并将涉及 Before 建议、After 建议和 Around 建议类。然后将构建、部署并在 Geronimo 中运行 电话本应用程序。

在电话本中实现跟踪方面

用于定义方面和事务管理的 AOP 代理将实现 目标对象的接口:PhonebookDataProvider 。因此就需要为服务类定义接口。

回想一下在 第 3 部分 中定义的 PhonebookDataProvider 类。该类用作客户机使用的服务类,并且完成了制作数据库连接 和将结果返回给客户机的所有苦活。该类由 JSP 实例化以从应用程序中获取数据。将同样使用这个类引 入跟踪方面,但由 Spring AOP 与接口协作。因此需要完成的第一项工作是为此类编写接口。

清 单 1 显示了 IPhonebookDataProvider 接口。该接口中包含了将要开发的应用程序部分所需的所有方法 。JSP 将调用 getEntries()。

清单 1. 应用程序的 PhonebookDataProvider 接口

/**  * IPhonebookDataProvider.java  * This class defines the  methods to be used by the PhonebookDataProvider class.  *  * @author  Arun Chhatpar  */  public interface IPhonebookDataProvider {   public  List getPhonebookEntries() throws Exception;   public PhonebookEntry  getPhonebookEntry(int entryID, int rowID) throws Exception;   public int  addEntry(PhonebookEntry pe) throws Exception; }

此类没有多少代码,只 有方法定义。有了接口之后,就可以让服务类来实现该接口。

Apache Geronimo和Spring 框架,第4部分(9)

时间:2011-10-13 IBM Arun Chhatpar

PhonebookDataProvider 实现新接 口

PhonebookDataProvider 将实现新定义的接口。此处的大部分函数与在 第 3 部分 中为应用程 序定义的函数相同。请注意,有一个新方法用于支持 Add new PhonebookEntry 功能。

清单 2. PhonebookDataProvider 定义所有方法并实现 IPhonebookDataProvider 接口

public  class PhonebookDataProvider implements IPhonebookDataProvider{   private  IPhonebookDAO pbDao;   public PhonebookDataProvider() {   }   public void setPbDao(IPhonebookDAO pbDao) {     this.pbDao = pbDao;   }   public List getPhonebookEntries() throws Exception{      return pbDao.getPhonebookEntries();   }   public PhonebookEntry  getPhonebookEntry(int entryID, int rowID) throws Exception{     return  pbDao.getPhonebookEntry(entryID, rowID);   }   public int addEntry (PhonebookEntry pe) throws Exception{     return pbDao.addEntry(pe);    } }

引入方法标记的方面

方法标记的方面将捕捉所有对被标记方法的调用 及从其返回的结果。我们将在这些联结点处显示一条消息。如在 AOP 的基础知识 部分中的定义,有三类 建议:Before、After 和 Around。Spring AOP 有支持全部三类建议的接口。我们将定义三个类用于实现 这些接口并在每个接口中放置标记程序以查看运行情况。

Before 建议

Ma***ngBeforeAdvice 类用于为本 AOP 示例定义 Before 建议。它将实现 MethodBeforeAdvice 接口。下面是从该接口实现 before(...) 方法的代码。

清单 3. 实现 Before 建议的示例

public class Ma***ngBeforeAdvice implements MethodBeforeAdvice  {   public void before(java.lang.reflect.Method method, Object[] obj, Object obj2) throws Throwable {     Calendar cal = Calendar.getInstance();      Syste

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号