使用Spring+Hibernate连接JNDI数据源
现在Spring+Hibernate这对组合已经成为J2EE事实上的开发标准,而且J2EE程序一般都需要运行在J2EE应用服务器容器中。虽然我们可以使用Apache组织提供的DBCP数据库连接池访问数据库,但是一个更好的选择是使用应用服务器本身提供的数据库连接池。在开发环境中,我们使用Tomcat,生产环境中,则使用Weblogic、WebSphere等应用服务器。我的配置环境中,应用服务器的版本分别是Tomcat6.0,Weblogic9.2以及WebSphere6.1,数据库使用了derby。无论对于哪一种应用服务器,使用Spring+Hibernate连接JNDI数据源的配置步骤都是类似的,大致分为4步。
??? 1、拷贝数据库驱动包到应用服务器的lib目录下。对于Tomcat,拷贝到tomcat\lib;对于Weblogic,拷贝到bea\user_projects\domains\base_domain\lib;对于WebSphere,拷贝到IBM\WebSphere\AppServer\lib。
??? 2、配置数据源。对于Weblogic和WebSphere这两个商业应用服务器,它们都提供了交互方便的配置界面,网上这方面的资料也很多,按步骤配置就可以了。对于Tomcat,只要修改tomcat\conf\context.xml,增加以下内容即可。
???? 3、修改web.xml。实际上该步骤是可有可无的,但是J2EE标准建议开发者进行修改,对资源进行引用,增加以下内容即可。
? ? ???? 再对Spring中的Hibernate配置进行修改,引用刚刚定义的dataSource。
???? 前面谈到第3步是可有可无的,以上是有第3步的配置。如果第3步未执行,那么对于Tomcat,仍然按照第4步一样的配置就可以。但是对于Weblogic和WebSphere,需要将java:comp/env/jdbc/testDS修改成jdbc/testDS。
??? 在配置过程中,还发现一个问题:Spring如果需要两个或两个以上的配置文件,在Tomcat中的web.xml可以使用通配符,即