文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用scope(翻译为范围)来配置bean的作用域(常使用参数如下所示:)
scope的设定参数如下:
1.singleton(单一的):
- 默认值:容器初始化时同时创建bean实例,在整个容器的生命周期内只创建这一个bean,单例的.
- 也就是说,在创建IOC容器对象时,同时也初始化 了bean 的IOC容器.下次需要再用的时候就拿之前创建好的IOC容器来用.也就出现了单例状况.
2.prototype(原型):
- 原型的: 容器初始化时不创建bean的实例,而在每次请求时都创建新的Bean实例,并返回.
- 此参数经常使用
二、使用外部属性文件
介绍:
在配置文件里配置Bean时,有时需要在Bean的配置里混入系统部署的细节信息(如:文件路径,数据源配置信息等).而这些部署细节实际上需要和Bean 配置 相分离开.
备注详细说明 : 也就是说,比如我们需要配置一个数据源,连接数据源的基本信息像用户名和密码这个就属于系统部署的细节信息.因为项目进行部署时需要去修改这些连接数据源的基本信息的,所以你要把这些基本信息放在Bean的配置文件里面即放在Spring的配置文件里面就比较麻烦.因为改的时候需要将Spring的配置文件打开然后再改,很 显然如果将这些配置文件放在一个属性文件里进行管理.我们只需要需要修改时打开属性配置文件即可.这就时使用外部属性文件的原因.
1.配置数据源:
One .1 配置之前需要导入C3p0(也就是数据库连接池):
可以去官网下载C3p0 : C3p0 官网下载地址
解压之后将其中的位于lib文件里的C3p0文件复制到项目对应的lib 包下并Build Path.
Two .2 加入mysql 的驱动(步骤和1.1一样):
官网下载Mysql 的驱动 : mysql 的驱动下载地址
选择 : mysql/mysql-connector-java-5.1.22-bin.jar.zip( 797 k)
Three : 导入mchange-commons-java-0.2.15.jar包; 官网 maven 仓库里直接查找.
(以后如果需要java 类的其他属性jar包都可以直接去maven仓库查找哦)
2.实际操作开始
2.1 通常配置演示代码(示例):
<bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="root"></property>
<property name="password" value="1230"></property>
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///test"></property>
</bean>
这里我们自行连接数据库.当我们需要更改数据库连接时就需要到Spring 里(也就是此文件里)去一个一个进行修改.这样就太麻烦了.那有没有一个专门提供可以修改的属性文件呢?于是外部属性配置文件就出来了.
2.2 采用属性配置文件进行配置演示代码(示例):
- 加入context 命名空间.
- 新建文件new — > File 命名为 db.properties,此处必须以db.xxx命名.
- 在 db.xxx文件里写入;
user=root
passworld=1230
diverclass=com.mysql.jdbc.Driver
jdbcurl=jdbc:mysql:///test
(此处必须和.xml文件里的一一对应) - 在Spring 的配置文件中
<!-- 导入外部属性文件..... -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 使用外部化属性文件的属性..... -->
<bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${user}"></property>
<property name="password" value="${password}"></property>
<property name="driverClass" value="${driverClass}"></property>
<property name="jdbcUrl" value="jdbcUrl"></property>
</bean>
此时,我们再进行系统信息部署和更换底层数据库时直接修改db.xxx外部属性文件即可.
三 、Spring 表达式语言:SpEL
-
SpEL 使用#{ …}作为定界符,所有在大括号中的字符都被认为式SpEL.
-
SpEL 为bean的属性进行动态赋值提供 便利
-
通过SpEL 可以实现:
– 通过bean 的id 对bean 进行引用
– 调用方法以及对引用对象中 的属性
– 计算表达式
– 正则表达式的匹配
如下所示:
提以上内容供参考!!!