上文中提到Spring可以利用JNDI获取数据源连接,同时Spring还可以利用DBCP获得数据源连接池。
单刀直入。。
和上文中类似的,但是这次不需要在项目中配置JNDI资源了。下面看spring配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
>
<context:component-scan base-package="com.springinaction.springidol"></context:component-scan>
<bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource"
p:driverClassName="oracle.jdbc.driver.OracleDriver"
p:url="jdbc:oracle:thin:@localhost:1521:orcl"
p:username="yss_ta"
p:password="yss_ta"
p:initialSize="5"
p:maxActive="10">
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" p:dataSource-ref="datasource">
</bean>
</beans>
这里,我们可以使用p命名空间减少写property的代码量。
注意看,这里定义datasource的时候使用的是dbcp提供的basicDataSource,这个有个小提醒,jar包除了引入dbcp外,还需要有common-pooljar包,否则回报错误。
其他配置和上文一样。