数据源(连接池)的作用

image.png

数据源的开发步骤

image.png

数据源的手动创建

1. 不使用 jdbc.properties 配置文件

先导入坐标:单元测试、数据库、Druid 连接池
image.png
注意!!!我使用的 MySQL 是 8.0.25 版本的,所以导入坐标的时候版本也得是 8.0.25 不然就获取不到连接!!
image.png
下面的 test 是数据库的名字
image.png

2. 抽取 jdbc.properties 配置文件,解耦合

image.png
image.png
image.png
注意:getBundle( ) 需要的参数是配置文件的基本名称,不用加扩展名!
image.png
这里,properties 是配置文件的扩展名,不用加,只需传入配置文件的基本名称即可!
**

* Spring 配置数据源

通过上面的代码,我们发现 DataSource 是 new 出来的,而且 new 出来后的属性都是用 set 方法去设置的,这完全满足我们用 Spring 容器去创建对象的方式!

  • 要用 Spring 配置数据源,第一步肯定是得先导入 Spring 的坐标!
  • image.png
  • 接下来就是创建 Spring 的配置文件
  • image.png
  • 然后配置 Bean 标签,注意这里的 class
  • image.png
  • image.png
  • 最后注入参数就行了,特别注意,注入的 name 是 set 后首字母变小写的一串英文
  • image.png
  • image.png
  • 成功获取
  • image.png

    ** Spring 加载 jdbc.properties 配置文件

    上面我们用 Spring 创建数据源的时候,value 值都是固定死的,没有用到 jdbc.properties 配置文件,这样不好,实际开发中应该各司其职!所以我们需要在 Spring 中加载 jdbc.properties 配置文件,完成解耦!

  • 引入 context 命名空间

  • image.png

    1. xmlns:context="http://www.springframework.org/schema/context"
  • 引入context 约束路径

  • image.png

    1. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  • 加载 jdbc.properties 配置文件

  • image.png

    1. <context:property-placeholder location="classpath:jdbc.properties"/>
  • 最后就是用 Spring 表达式,从加载的配置文件中取出值进行替换即可

  • 原先的:
  • image.png
  • 替换后的:
  • image.png
  • image.png
  • jdbc.properties 配置文件左边的键全都变橙色了,表示被引用了!
  • 这样就实现了用 Spring 创建数据源并且与 jdbc.properties 配置文件完全解耦了,我们后面如果想修改 数据源的配置文件,只需要去修改 jdbc.properties 这个配置文件即可,不用在 Spring 的配置文件中辛辛苦苦的找到对应的代码了!
  • 实现了数据库的配置和 Spring 的配置完全分开了!
  • image.png