如果您位于JavaEE容器中,则将产生巨大的变化。
如果您遵循第二种方法并进行了一些修改,那么除了个人喜好以外,您的生活也会更好。
在第一种情况下, 您将创建自己的连接池,
并且不会从容器中的现有连接池中受益。因此,即使您将容器配置为最多与数据库同时建立20个连接,您也不能保证此最大值,因为此新连接池不受配置的限制。此外,
您不会从容器提供的任何监视工具中受益 。
在第二种情况下, 您还将创建自己的连接池 ,但具有与上述相同的缺点。但是,您可以隔离此spring bean的定义,仅在测试运行中使用它。
最好的选择是 通过JNDI查找容器的连接池 。然后,您一定要遵守容器中的数据源配置。
使用它来运行测试。
<!-- datasource-test.xml --><bean id="domainDataSource" destroy-method="close"> <property name="driverClass" value="${db.driver}" /> <property name="jdbcUrl" value="${datasource.url}" /> <property name="user" value="${datasource.username}" /> <property name="password" value="${datasource.password}" /> <property name="initialPoolSize" value="5"/> <property name="minPoolSize" value="5"/>.....</bean>部署到JavaEE容器时使用它
<!-- datasource.xml --><jee:jndi-lookup id="domainDataSource" jndi-lookup="jndi/MyDataSource" />
- 记住要设置JEE模式
- 尽管Tomcat不是完整的JavaEE容器,但它确实通过JNDI管理数据源,因此此答案仍然适用。



