数据配置方式一般是三种:
1.org.springframework.jdbc.datasource.DriverManagerDataSource(没有池概念,有连接就建立一个connection)
2.org.apache.commons.dbcp.BasicDataSource(连接池技术)
3.org.springframework.jndi.JndiObjectFactoryBean(能够通过JNDI获取DataSource )
如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源 使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。
DriverManagerDataSource对应的xml这里不说明了。
场景:本地开发使用Tomcat,生产环境兼容ADF框架所使用的weblogic
本地:BasicDataSource
<!-- 本地运行Tomcat使用数据源-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialSize}"></property>
<property name="maxActive" value="${jdbc.maxActive}"></property>
<property name="maxIdle" value="${jdbc.maxIdle}"></property>
<property name="minIdle" value="${jdbc.minIdle}"></property>
<property name="maxWait" value="${jdbc.maxWait}"></property>
</bean>
生产:JndiObjectFactoryBean
<!-- 测试/生产环境使用weblogic上的数据源 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/..." />
</bean>