配置管理第三方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>