- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Spring基础课件第04章-征服数据库
HandsOn HandsOn 征服数据库 张洪超 知识回顾 1.比较手动装配和自动装配. 2.在方法的前面,后面以及周围添加通知. 3.用政则表达式定义切入点. 4.自动创建代理. 课程目标 1.Spring持久化支持概述. 2.掌握在应用系统中配置数据库资源. 3.掌握使用Spring的JDBC框架简化JDBC开发. 4.掌握如何使用Spring集成第三方ORM框架. Spring的DAO理念 DAO代表数据访问对象(Data Access Object).它完美的描述了一个应用中DAO的角色.DAO的存在提供 了读写数据库种数据的一种方法.只要把这个功能通过接口暴露,应用的其他部分就可以通过这些接口来 访问数据库了. 如图,服务对象通过接口访问DAO,这样会有不少好处.首先,由于服务对象不再和特定的数据访问实现绑 定在一起,使得它们很容易被测试(还是耦合度的问题).此外,我们是通过与持久化技术无关的方式来访问 数据访问层的.也就是说,DAO接口不需要它采用什么技术去访问数据.取而代之,只有相关的数据访问方 法被暴露在接口中. 服务对象 数据访问实现 数据访问接口 与DataSource共舞 为了对数据库执行任何的JDBC操作,我们必须有一个Connection.在Spring的DAO框架里,Connection 是通过DataSource获得的.Spring提供了多种获得DataSource的方法. 1.从JNDI得到DataSource:Spring应用经常运行在J2EE应用服务器上,或者是诸如Tomcat的Web服务 器上.这些服务器都能提供的一件事是:通过JNDI获得DataSource.在Spring中,我们把它看作和应用中 的任何其它服务对象一样,都看作SpringBean.也就是说,我们所要做的就是用DataSource的JNDI名字 来做一些配置. beans … bean id=“dataSource” class=“org.springframework.jndi.JndiObjectFactoryBean” property name=“jndiName” valuejava:comp/env/jdbc/myDataSource/value /property /bean … /beans 与DataSource共舞 2.创建一个DataSource连接池:加入Spring容器运行在一个不提供DataSource的环境中,我们所要做的 就是一个实现DataSource的连接池Bean.我们可以用Jakarta Commons DBCP项目中的 BasicDataSource类.因为它的所有属性都是通过setter方法暴露在外面,用配置文件来配置它很舒服. bean id=“dataSource” class=“mons.dbcp.BasicDataSource” property name=“driver” value${db.driver}/value !--还记得我们说过的分散配置么?--! /property property name=“url” value${db.url}/value /property property name=“username” value${db.username}/value /property property name=“password” value${db.password}/value /property /bean 与DataSource共舞 3.供测试使用的DataSource:是代码易于测试是Spring的理念之一.如果不能对数据访问代码进行单元测 试的话,那将是一个程序员(确切的说是这个行业)的耻辱.幸运的是我们可以用的一个轻量级类: DriverManagerDataSource来做单元测试: DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); 现在我们能够连接数据库了.该看看Spring的DAO框架了. DAO框架 Spring把模板模式应用到数据访问上
文档评论(0)