在Sping的配置文件中,关于dataSource的配置,就我们常用的方法大致可以有三种:
1、一般的配置方法,直接在配置中指定其值。具体的例子我们参照Mysql的配置如下:
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://192.168.0.14:3300/king_test?useUnicode=true&characterEncoding=utf-8"/> <property name="username" value="root"/> <property name="password" value="123"/> </bean>
2 通过读取文件信息资源,其原理与方法一相同。示例:
<bean id="preferences" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="location" value="classpath:db/jdbc/spring-jdbc2.properties"/> </bean> <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>${driverClassName}</value> </property> <property name="url"> <value>${url}</value> </property> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </bean>
3 通过数据连接池。在此我们只需指定jndiName的值为服务器中配置的数据连接池的JNDI名称即可(下边的jndiName 对应 的 值 还没有实现):
<bean id="datasource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/mysql"></property> </bean>
注:
DriverManagerDataSource数据源,它在每次获得数据连接时都创建一个新的连接对象,完全没有缓冲能力。 对于数据源的配置,也可以配置带有连接池功能的数据源,Spring没有提供实现,因为一些开源项目已经实现了带有连接池功能的数据源, 例如Apache Commons DBCP的BasicDataSource数据源。这个数据源不仅提供了缓冲的连接池功能,而且它是一个完全轻量级的数据源。 用法就是将下边的DriverManagerDataSource 类换成 引入 BasicDataSource类即可,BasicDataSource这个类可以在下边除了设置下边 的默认四个设置,还可以设置一些缓冲的属性,比如连接池大小,最大最小值等等。