我假设您
dataSource的配置现在与此类似:
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/MyDataSource"/>
如果您将其替换为以下内容:
<bean id="dataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://${jdbc.hostname}/${jdbc.schema}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/></bean>DataSource不再需要 在Tomcat中进行配置。
在第一种情况下,连接池由Tomcat使用其自己的实现进行管理和公开。后一种配置(由于可移植性和减少对容器的依赖性而强烈建议使用)不依赖Tomcat。相反,Spring实例化了自己的连接池(请注意,池实现来自外部库,如DBCP或C3P0),并且绝对没有对Tomcat
JNDI参考的引用。



