在线客服
扫描二维码
下载博学谷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}"/>
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Kotlin是否会取代Java?
Kotlin是否会取代java?谷歌曾经表示过要使用Kotlin做安卓开发一级语言,那这是否意味着java已经完蛋了呢?那么kotlin能取代java吗?有些同学或许还不了解Kotlin,Kotlin 是一个用于现代多平台应用的静态编程语言,可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。
8267
2019-08-08 14:08:23
Java基础:char 型变量中能不能存贮一个中文汉字?为什么?
char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以,char 型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在 unicode 编码字符集中,那么,这个 char 型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char 类型的变量也是占用两个字节。
7550
2019-05-23 11:16:51
Java学习如何提升学习效率?
Java学习如何提升学习效率?刚刚接触Java的同学估计有满脑子的困惑,Java的体系结构异常庞大,很多刚接触的朋友学着学着就不知道自己的路线是什么,不知道如何进行学习路线规划,也不知道学习什么内容可以找到相关的工作等。
5001
2020-06-17 14:58:23
Java的发展和前景如何?
目前大环境下没有稳定的语言,核心的是过硬的技术。如果够决心能吃苦,入门互联网行业是一个不错的选择。小朋友你可能有很多问题:学Java能找到好工作么、市场是不是饱和了、Java是不是没落了等问题。通过所有外部表现来看Java仍活着发展着。
5692
2020-06-23 10:50:35
Java程序员必读的基础知识书单推荐
Java程序员必读的基础知识书单推荐,学习过程中书本是比较好的学习工具,与音频和视频相比纸质书籍有一个巨大的优势,不理解时你可以任意反复阅读某一段,或快速复习刚刚阅读过的内容,甚至是只看某一页面的某个段落,方便做笔记。
3398
2022-04-13 14:17:29
