Spring IOC 示例

来源:互联网 发布:现在做网络主播赚钱吗 编辑:程序博客网 时间:2024/06/05 00:59
理解控制反转最简单的方式就是看它的实际应用。在对由三部分组成的 Spring 系列 的第 1 部分进行总结时,我使用了一个示例,演示了如何通过 Spring IOC 容器注入应用程序的依赖关系(而不是将它们构建进来)。我用开启在线信用帐户的用例作为起点。对于该实现,开启信用帐户要求用户与以下服务进行交互: 信用级别评定服务,查询用户的信用历史信息。 远程信息链接服务,插入客户信息,将客户信息与信用卡和银行信息连接起来,以进行自动借记(如果需要的话)。 电子邮件服务,向用户发送有关信用卡状态的电子邮件。 --------------------------------------------------------------------------------回页首三个接口对于这个示例,我假设服务已经存在,理想的情况是用松散耦合的方式把它们集成在一起。以下清单显示了三个服务的应用程序接口。清单 3. CreditRatingInterfacepublic interface CreditRatingInterface {   public boolean getUserCreditHistoryInformation(ICustomer iCustomer);} 清单 3 所示的信用级别评定接口提供了信用历史信息。它需要一个包含客户信息的 Customer 对象。该接口的实现是由 CreditRating 类提供的。清单 4. CreditLinkingInterfacepublic interface CreditLinkingInterface {public String getUrl();public void setUrl(String url);public void linkCreditBankAccount() throws Exception ;} 信用链接接口将信用历史信息与银行信息(如果需要的话)连接在一起,并插入用户的信用卡信息。信用链接接口是一个远程服务,它的查询是通过 getUrl() 方法进行的。URL 由 Spring 框架的 bean 配置机制设置,我稍后会讨论它。该接口的实现是由 CreditLinking 类提供的。清单 5. EmailInterfacepublic interface EmailInterface {      public void sendEmail(ICustomer iCustomer);      public String getFromEmail();      public void setFromEmail(String fromEmail) ;      public String getPassword();      public void setPassword(String password) ;      public String getSmtpHost() ;      public void setSmtpHost(String smtpHost);      public String getUserId() ;      public void setUserId(String userId);   } EmailInterface 负责向客户发送关于客户信用卡状态的电子邮件。邮件配置参数(例如 SMPT 主机、用户名、口令)由前面提到的 bean 配置机制设置。Email 类提供了该接口的实现。

原创粉丝点击