在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
对于Java开发的编程者来讲,掌握Spring这样主流框架的重要性不言而喻。为了帮助大家更好的学习开发企业级项目的知识和技术,掌握企业级解决方案的思路,本文总结了Spring配置数据源的重难点,主要包括数据源(连接池)的作用、数据源的手动创建步骤、Spring配置数据源和抽取jdbc配置文件。下面一起来看看Spring配置数据源的详解吧!

1、数据源(连接池)的作用
数据源(连接池)是提高程序性能如出现的,事先实例化数据源,初始化部分连接资源,使用连接资源时从数据源中获取,使用完毕后将连接资源归还给数据源。常见的数据源(连接池)有DBCP、C3P0、BoneCP、Druid等。
2、数据源的手动创建步骤
(1)导入数据源的坐标和数据库驱动坐标
导入c3p0和druid的坐标,如图:

导入mysql数据库驱动坐标,如图:

(2)创建数据源对象
创建C3P0连接池,如图:

创建Druid连接池,如图:

(3)设置数据源的基本连接数据
提取jdbc.properties配置文件
(4)使用数据源获取连接资源和归还连接资源
读取jdbc.properties配置文件创建连接池,如图:

3、Spring配置数据源
可以将DataSource的创建权交由Spring容器去完成,DataSource有无参构造方法,而Spring默认就是通过无参构造方法实例化对象的,DataSource要想使用需要通过set方法设置数据库连接信息,而Spring可以通过set方法进行字符串注入。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
</bean>
测试从容器当中获取数据源
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
DataSource dataSource = (DataSource)
applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);
4、抽取jdbc配置文件
applicationContext.xml加载jdbc.properties配置文件获得连接信息。首先,需要引入context命名空间和约束路径。
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
以上就是Spring配置数据源的详解,另外还有一个知识要点,Spring容器加载properties文件:
<context:property-placeholder location="xx.properties"/>
<property name="" value="${key}"/>
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java开发Overload 和 Override 的区别是什么?
Java开发Overload 和 Override 的区别是什么?Overloaded 的方法是否可以改变返回值的类型?Overload 是重载的意思,Override 是覆盖的意思,也就是重写。重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
11482
2019-05-24 15:22:03
自学Java比培训的学习效果差吗?
自学Java比培训的学习效果差吗?答案不是一定的,毕竟每个人的自学能力都不一样,而且每家培训机构的教学实力也不能一概而论。这里以博学谷的教学内容为例,比起大部分自学者的埋头苦学,博学谷的Java教学有着三点无可比拟的优势,即知识点更系统,更前沿,且与实战项目结合。下面详细来谈谈比起自学参加Java培训的优势。
6183
2019-10-28 16:41:46
Java开发游戏抽奖算法有哪些?
Java开发游戏抽奖算法有哪些?抽奖算法根据需求而定,游戏抽奖算法在指定奖品的集合中,每个奖品根据对对应概率进行抽取。Java开发游戏抽奖算法主要有随机数一一对应、离散法Alias算法等
10356
2020-02-19 16:26:26
这样的Java自学姿势 学废最快
学习Java人数最多。原因是?自然是Java长久占据界编程语言排行榜中榜首,且众多互联网一线大厂如阿里、京东、美团、滴滴等都在使用Java架构。世间的一切,终究逃不过一个“钱”字。
5849
2021-03-05 11:27:54
在项目中如何使用 Disruptor 做内部消息队列?
在项目中如何使用 Disruptor 做内部消息队列?工作中遇到项目使用Disruptor做消息队列 ,不是Kafka也不是rabbitmq;Disruptor有个最大的优点就是快,是开源的。其实生成者到消费者模式是很常见的,通过一些消息队列也可以轻松做到上述的效果。不同的地方在于,Disruptor 是在内存中以队列的方式去实现的,而且是无锁的。
7565
2022-04-29 14:03:28
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
