5.2 配置数据源
无论使用什么形式的Spring DAO支持类,都需要配置对数据源的引用。Spring提供了多个选项用于在Spring程序里配置数据库,其中包括:
由JDBC驱动程序定义的数据源
由JNDI查询的数据源
连接池的数据源
对于已经准备进行发布的程序,我建议使用从连接池获取连接的数据源。如果可能,我更乐于通过JNDI从程序服务器获取连接池里数据源。记住这一点,下面我们来看一看如何配置Spring从JNDI获取数据源。
5.2.1 使用JNDI数据源
Spring程序经常会运行于一个JEE程序服务器里,比如WebSphere、JBoss或甚至是像Tomcat这样的Web容器。这些服务程序可以配置为通过JNDI获取数据源。以这种方式配置数据源的好处是它们完全可以在程序之外进行管理。程序本身只需要在需要访问数据库时请求数据源即可。而且,程序服务器里管理的数据源通常会被组合起来,从而具有更好的性能,并能够由系统管理员进行热切换。
利用Spring,我们可以像使用Bean一样配置一个数据源(保存在JNDI里)的引用,并且把它装配到其他类里。Spring的JndiObjectFactoryBean能够从JNDI获取任何对象(包括数据源),并且让它能够用作Spring Bean。
第11章将更详细地介绍JndiObjectFactoryBean,目前我们只需要知道下面这个JndiObjectFactoryBean能够从JNDI获取数据源:
|
属性jndiName用于指定JNDI里数据源的名称。如果只设置了jndiName属性,数据源就是由它直接指定的。但如果程序是运行于Java程序服务器里,就还需要把resourceRef属性设置为true。
当resourceRef属性为true时,jndiName会被添加java:comp/env/,从程序服务器的JNDI目录里获取数据源,因此,上例中实际使用的名称是java:comp/env/jdbc/RantzDatasource。
Spring 2.0里的JNDI数据源
通过使用jee命名空间,Spring 2.0里从JNDI获取数据源所需的XML大大简化了。像下面这样声明<beans>元素,我们就可以使用jee命名空间里的配置元素:
|
| 回书目 上一节 下一节 |
|
||||
| · 浏览器的战国时代 · CCNA认证考试Pass必备 · 无线网络环境 · 无线路由器故障处理 · 解析35岁技术人的价值.. · 无线重中之重:安全问题 · 无线局域网基本知识 · 家庭无线局域网 |
· 华为七千人主动辞职规.. · 微软出价446亿美元收购.. · 虚拟化的“赤壁之战” · 802.11n:下一代的无线.. · 脉冲无线电uwb专题 · AIX操作系统管理应用 · 云计算时代来临 · 求职必杀技 决战面试官 |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · 无线网状网(MESH) · Windows远程桌面应用 · C#技术开发指南 |
· Apache技术专题 · Windows集群服务应用 · C#技术开发指南 · 文档格式标准开战 OOXM.. · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 解析35岁技术人的价值.. |
|||