在线客服
扫描二维码
下载博学谷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}"/>
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
HTML5是什么?HTML5用来做什么?
HTML5是什么?HTML5用来做什么?HTML5是HTML的修订版本,HTML5并不是对HTML4、XHTML的革命,原来的HTML4开发的HTML网页同样可用;开发者严格按照代码规范,使用XHTML严格、规范、语法,可按XHTML的严格要求来开发HTML5。
8939
2019-06-18 14:57:54
2019年12月Github上优秀的Java开源项目盘点
无论是作为已经有一定开发经验的Java程序员还是正在学习Java语言的同学,做开源项目都是大家学习和提升编程能力的最佳途径。在程序员不断攀登技术这座大山的时候,需要不断练习和磨练自己的技能,而优秀的开源项目就是帮助我们攀登的利器。本文为大家盘点了2019年12月份GitHub上优秀的Java开源项目,下面我们一起来看看吧!
9717
2020-01-14 19:42:17
Java14发布有哪些更新?
今年三月份,Java发布了最新的版本Java14。本次发布的Java14更新了大量的内容,包括了JEP364、JEP365、JEP366、JEP367、打包功能、Nul、lPointerException异常信息、File API、switch语句、NUMA、JFR、Record、Solaris和SPARC端口、CMS垃圾收集器和instanceof。下面我们一起来看看这些更新的特性吧!
7499
2020-04-03 13:00:20
一文说清楚应聘Java开发工程师的基本要求
很多同学来问小谷老师,程序员之间的工资差别为什么那么大,不同等级的程序员分别需要哪些不同的技能,这篇文章小谷老师就以Java为例,讲讲其中的区别。那根据技术水平不同,Java程序员可以分为初级、中级、高级、资深等。不同级别的Java程序员,企业的要求也是有区别。
8776
2021-08-16 18:26:48
博学谷Java架构师课程主要讲解哪些内容?
Java架构师课程内容主讲:互联网微服务前沿技术栈、大型互联网分布式架构、全景消息通信实战、架构师源码深度剖析、海量数据处理、服务实战演练篇、大型项目性能优化、软件架构设计攻略、架构师武器库、手撕面试官、黑马顺风车实战项目、面向面试的算法实战、通用解决方案、人工智能、数据挖掘等内容。接下来我们具体来看下。
6572
2022-09-29 18:43:00
