快速业务通道

Spring JDBC抽象框架简化Web数据库开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
种情况下,它从Spring BeanFactory(控制反转容器)中得到极少的帮助。现在,我们将超越这个简单的例子。让我们来探讨一下如何基于Spring JDBC实现业务服务。首先,让我们创建一个客户端-一个为终端用户提供输出的应用程序。该客户端使用了一个服务,一个遵守下面的Service接口的业务服务:

package com.spring.jdbc; import java.util.List; public interface Service {   public List getTasksNames();   public void setTasksDao(TasksDAO taskDAO); }

客户端需要存取一个业务服务对象。它将使用Spring BeanContainer来"抓住"这样的一个服务对象。客户端仅能针对接口编程并且依赖容器来提供一种实际的实现。而且,这个ServiceImpl类必须实现所有的存在于业务服务接口中的方法。该代码看上去如下所示:

package com.spring.jdbc; import java.util.List; public class ServiceImpl implements Service{   TasksDAO taskDAO;   public void setTasksDao(TasksDAO taskDAO)   {    this.taskDAO=taskDAO;   }   public List getTasksNames()   {    List tasks = taskDAO.getTasksNames();    return tasks;   } }

Spring JDBC抽象框架简化Web数据库开发(4)

时间:2011-01-06 天极 朱先忠

你应该已经注意到,该服务需要一个TasksJdbcDAO。反过来,这个对象实现了TasksDAO接口。因此,我们将通过BeanFactory来把DAO注入到该服务中。在此,我们碰巧有一个TasksJdbcDAO类-bean工厂可以使用它来实现这一目的。然而,既然这个类派生于JdbcDaoSupport,那么我们知道我们需要注入一个DataSource或让bean工厂为我们注入该DataSource。现在这个bean配置文件看上去如下所示:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="dataSourceDBDirect" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">   <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>   <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>   <property name="username" value="scott"/>   <property name="password" value="tiger"/> </bean> <bean id="tasksDAO" class="com.spring.jdbc.TasksJdbcDAO">   <property name="dataSource">    <ref local="dataSourceDBDirect"/>   </property> </bean> <bean id="service" class="com.spring.jdbc.ServiceImpl">   <property name="tasksDao">    <ref local="tasksDAO"/>   </property> </bean> </beans>

我们看到服务bean使得tasksDao bean被注入-它反过来又使dataSourceDBDirect对象被注入。当我们请求服务bean时,我们通过一个具有DataSource的DAO得到它。至此,一切就绪。因此,当客户端存取bean容器以得到服务对象时,会发生什么呢?该bean容器实例化并且注入一个DataSource和一个TasksDAO-在把服务返回到客户端之前。现在,我们的客户端变得相当简单了。它需要与BeanFactory进行通讯,"抓住"一个服务对象并处理它:

package com.spring.jdbc; import j

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号