目录
IOC操作Bean管理XML方式(外部属性文件)
前情引入:
实验演示:
1.直接配置数据库信息
(1)配置德鲁伊连接池
(2)引入德鲁伊连接池jar包
(3)创建一个bean6.xml配置文件
2.引入外部属性文件配置数据库连接池
(1)创建外部属性文件 properties 格式的配置文件,写数据库信息
步骤一:创建文件 jdbc.properties 用来写数据库配置
(2)把外部 properties 属性文件引入到 Spring 配置文件中
步骤一:引入 context 名称空间
步骤二:在 spring 配置文件使用标签引入外部属性文件
IOC操作Bean管理XML方式(外部属性文件)
前情引入:
问题:之前的做法是,创建一个类,在bean中进行属性注入
但是,如果一个类中属性很多,就需要写很多<property><property/>
这么写其实不是很方便,如果属性值发生一些变化的话还需要去bean.xml配置文件中进行修改
解决:将一些 固定的值 或者 相关的值 放到一个其它的文件中
场景应用:比如操作数据库中,有些数据库的固定值,例如数据库的地址、用户名 、密码......,就可以把数据库这些值放到一个<property>的配置文件中,然后再在 xml配置文件中去读取<property>配置文件中的内容,就是这么一个注入过程
实验演示:
1.直接配置数据库信息
(1)配置德鲁伊连接池
(2)引入德鲁伊连接池jar包
什么是德鲁伊连接池jar包:Druid(德鲁伊)是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验
首先:复制druid-1.0.9.jar包到项目中
1
2
3
4
5
(3)创建一个bean6.xml配置文件
直接配置 连接池
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"><!--最基本的:直接配置连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><!--代表驱动名称--><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><!--数据库的地址 jdbc:mysql://localhost:3306 名字 userDb--><property name="url" value="jdbc:mysql://localhost:3306/userDb"></property><!--登录用户名和密码--><property name="username" value="root"></property><property name="password" value="root"></property>
</bean></beans>
查看源码:
(数据库名称,以及驱动的名字......这些名字大部分是固定的)
问题:配置好的值现在是固定的,并且是直接在xml文件里面手写出来,不是引入
解决:现在把值写入外部的配置文件中,然后把配置文件引入进来,因此我们下面的操作就是
引入外部属性文件配置数据库连接池
2.引入外部属性文件配置数据库连接池
【说白了,就是这么引入好维护,容易扩展】
(1)创建外部属性文件 properties 格式的配置文件,写数据库信息
步骤一:创建文件 jdbc.properties 用来写数据库配置
jdbc.properties 代码如下:
.properties内容都是键值形式
prop.driverClass=com.mysql.jdbc.Driver
prop.url=jdbc:mysql://localhost:3306/userDb
prop.userName=root
prop.password=root
(2)把外部 properties 属性文件引入到 Spring 配置文件中
步骤一:引入 context 名称空间
步骤二:在 spring 配置文件使用标签引入外部属性文件
就可以通过一个名称去引用一个文件,这样做比较 好维护
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--从本地location 引入外部属性文件--><context:property-placeholder location="classpath:jdbc.properties"/><!--配置连接池--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><!--不是固定值:代表驱动名称 通过表示式从文件中--><property name="driverClassName" value="¥{prop.driverClass}"></property><!--不是固定值:数据库的地址 jdbc:mysql://localhost:3306 名字 userDb--><property name="url" value="¥{prop.url}"></property><!--不是固定值:登录用户名和密码--><property name="username" value="¥{prop.userName}"></property><property name="password" value="¥{prop.password}"></property></bean></beans>