Spring02-配置管理第三方bean

本文介绍了如何在Spring中配置管理数据库连接池,以Druid和C3P0为例。首先,通过在pom.xml添加依赖,然后分析Druid和C3P0的源码,确定使用setter注入。接着,配置applicationContext.xml,设置数据库连接参数。最后,初始化IoC容器并获取bean。同时,文章还展示了如何加载properties文件,以实现从外部配置文件读取数据库连接信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置管理第三方bean

Druid

思路分析

使用spring来配置管理druid数据库连接池

1.在pom.xml中添加druid依赖

2.由于druid是第三方bean,我们需要对其源码进行分析,如依赖如何注入,setter还是构造器。

3.在applicationContext.xml配置文件中导入bean,让IoC容器进行管理,数据库连接4要素——Driver、url、userName、password

4.初始化IoC容器,通过IoC容器获取bean

步骤

1.添加druid依赖

依赖地址获取:mvn仓库:mvnrepository.com

在pom.xml中添加依赖

<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.16</version>
    </dependency>
    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>   
2.查看源码,进行分析

快捷键ctrl+F12

查看构造方法,一个是无参构造,一个是传入boolean,不满足需求。

在这里插入图片描述

查看setter方法,输入setUser可以看到setUsername这个构造方法

在这里插入图片描述

在这里插入图片描述

点击它,到相应的位置,可以看出满足setter注入的要求。

3.在配置文件中导入bean

经过以上分析,使用setter注入

<!--    管理DruidDataSource对象-->
<!--    <bean class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/db1"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>
  • driverClassName、url、username、password分别对应驱动、连接地址、用户名、密码
4.初始化IoC容器,管理bean

(id = dataSource)

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
DataSource dataSource = (DataSource) ctx.getBean("dataSource");

C3P0

C3P0同Druid一样,是数据库连接池

思路与导入Druid一致

直接上步骤

步骤

1.添加C3P0依赖

如何查看依赖地址 - 搜索 (mvnrepository.com)

<dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
2.查看源码,进行分析

搜索setpass,查看是否为setter注入

在这里插入图片描述

在这里插入图片描述

查看构造器参数
在这里插入图片描述

得出C3P0使用setter注入

3.在配置文件中导入bean
    <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/spring_db"/>
        <property name="user" value="root"/>
        <property name="password" value="root"/>
        <property name="maxPoolSize" value="1000"/>
    </bean>-->

驱动:driverClass

url:jdbcUrl

用户名:user

密码:password

最大连接数:maxPoolSize

4.初始化IoC容器,管理bean

加载properties文件

1.开启context命名空间

在spring配置文件中引入context文件头

xmlns:context="http://www.springframework.org/schema/context"

http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

在这里插入图片描述

如图,复制粘贴下来,修改4处beans为context,在xmlns:后加1个context即可

2.加载properties配置文件

<context:property-placeholder location="jdbc.properties"/>

3.resources下创建一个jdbc.properties文件。

添加对应的属性键值对

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/db1
jdbc.username=root
jdbc.password=root

4.使用属性占位符${}读取properties文件中的属性

<bean class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
 <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
</bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fantasy`

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值