【spring框架24】关于DataSource(下)

本文详细介绍了在Spring框架中配置DBCP连接池的方法,包括直接在XML中配置数据库参数和通过Properties文件读取数据库信息的方式。同时,提供了一个简单的测试案例,展示了如何在Spring环境中使用配置好的DBCP连接池。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/u013517797/article/details/44517009

spring连接池的配置,可以有三种连接池的配置(常用):
i.c3p0
ii.dbcp
iii.proxool
用到哪种去查那种情况的配置即可。

下面我们主要说dbcp。
除了这么写:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  		<!-- results in a setDriverClassName(String) call -->
  		<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  		<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
  		<property name="username" value="root"/>
  		<property name="password" value="1234"/>
</bean>

还可以这么写:
把数据库的信息存进Properties文件
jdbc.properties文件:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring
jdbc.username=root
jdbc.password=1234

在Spring中可以使用PropertyPlaceHolderConfigure来读取Properties文件的内容

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <value>classpath:com/foo/jdbc.properties</value>
    </property>
</bean>
 
<bean id="dataSource" destroy-method="close"
      class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

测试:

package cn.edu.hpu.service;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import cn.edu.hpu.dao.UserDao;
import cn.edu.hpu.model.User;
 
public class UserServiceTest {
	
	@Test
	public void testAdd() throws Exception{
		ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");
		
		UserService userService=(UserService)ctx.getBean("userService");
		System.out.println(userService.getClass());
		User u=new User();
		u.setUsername("u1");
		u.setPassword("p1");
		userService.add(u);
		ctx.destroy();
	}
}

结果:
add success!!

存储成功

转载请注明出处:http://blog.youkuaiyun.com/acmman/article/details/44517009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值