Spring利用propertyConfigurer类 读取.property数据库配置文件

1.Spring的框架中,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类可以将.properties(key/value形式)文件中

一些动态设定的值(value),在XML中替换为占位该键($key$)的值,

.properties文件可以根据客户需求,自定义一些相关的参数,这样的设计可提供程序的灵活性。

2.在Spring中,使用PropertyPlaceholderConfigurer可以在XML配置文件中加入外部属性文件,当然也可以指定外部文件的编码,如:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="location">

<value>conf/sqlmap/jdbc.properties</value>

</property>

<property name="fileEncoding">

<value>UTF-8</value>

</property>

</bean>

当然也可以引入多个属性文件,如:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>/WEB-INF/mail.properties</value>

<value>classpath: conf/sqlmap/jdbc.properties</value>//注意这两种value值的写法

</list>

</property>

</bean>

基本的使用方法是:

Xml代码

<bean id="propertyConfigurerForAnalysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="location">

<value>classpath:/spring/include/dbQuery.properties</value>

</property>

<property name="fileEncoding">

<value>UTF-8</value>

</property>

</bean>

其中classpath是引用src目录下的文件写法。

当存在多个Properties文件时,配置就需使用locations了:

Xml代码

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>classpath:/spring/include/jdbc-parms.properties</value>

<value>classpath:/spring/include/base-config.properties</value>

<value>classpath*:config/jdbc.properties</value>

</list>

</property>

</bean>

接下来我们要使用多个PropertyPlaceholderConfigurer来分散配置,达到整合多工程下的多个分散的Properties文件,其配置如下

Xml代码

<bean id="propertyConfigurerForProject1" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="order" value="1" />

<property name="ignoreUnresolvablePlaceholders" value="true" />

<property name="location">

<value>classpath:/spring/include/dbQuery.properties</value>

</property>

</bean>

Xml代码

<bean id="propertyConfigurerForProject2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="order" value="2" />

<property name="ignoreUnresolvablePlaceholders" value="true" />

<property name="locations">

<list>

<value>classpath:/spring/include/jdbc-parms.properties</value>

<value>classpath:/spring/include/base-config.properties</value>

</list>

</property>

</bean>

其中order属性代表其加载顺序,

而ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder,如配置了多个PropertyPlaceholderConfigurer,则需设置为true

3.譬如,jdbc.properties的内容为:

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost/mysqldb?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=round;

jdbc.username=root

jdbc.password=123456

4.那么在spring配置文件中,我们就可以这样写:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

<value>classpath: conf/sqlmap/jdbc.properties </value>

</list>

</property>

</bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="${jdbc.driverClassName}" />

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

</bean>

5.这样,一个简单的数据源就设置完毕了。可以看出:PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义的工具。

Spring利用propertyConfigurer类 读取.property数据库配置文件,布布扣,bubuko.com

时间: 2024-12-15 06:59:21

Spring利用propertyConfigurer类 读取.property数据库配置文件的相关文章

使用Spring中的PropertyPlaceholderConfigurer读取文件

目录 一. 简介 二. XML 方式 三. Java 编码方式 一. 简介 大型项目中,我们往往会对我们的系统的配置信息进行统一管理,一般做法是将配置信息配置与一个cfg.properties 的文件中,然后在我们系统初始化的时候,系统自动读取 cfg.properties 配置文件中的 key value(键值对),然后对我们系统进行定制的初始化. 那么一般情况下,我们使用 的 java.util.Properties, 也就是 java 自带的.往往有一个问题是,每一次加载的时候,我们都需要

Spring整合mybatis框架-Spring框架读取数据库配置文件

通过前面的例子我们能够知道Spring框架能够链接数据库,,但是通常情况下,我们的Spring核心配置文件中配置的内容会比较多,如果我么后期数据库链接有改动的话,去这么大的一个配置文件中修改数据库的链接是不怎么友好的,所以建议将数据库的配置单独分离出来,最后我们只通过Spring框架去读取数据库的配置文件,这样做是比较好的,实际项目也是这样做的. datasource.properties数据库配置文件 applicationContext.xml核心配置文件,读取properties文件 编写

Spring Batch使用示例: 读取CSV文件并写入MySQL数据库

GitHub版本: https://github.com/kimmking/SpringBatchReferenceCN/blob/master/01_introduction/Spring_Batch_MySQL.md ------------ 编写批处理程序来处理GB级别数据量无疑是种海啸般难以面对的任务,但我们可以用Spring Batch将其拆解为小块小块的(chunk). Spring Batch 是Spring框架的一个模块,专门设计来对各种类型的文件进行批量处理. 本文先讲解一个简

spring+mybatis整合读取不了配置文件

报错如下: java.sql.SQLException: unkow jdbc driver : ${jdbc.url}其余错误就不贴了,主要原因是没有读取到配置文件 读取配置文件代码: <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="true"> <property name="systemPr

spring boot 在不同环境下读取不同配置文件的一种方式

在工程中,通常有根据不同的环境读取不同配置文件的需求,对于spring boot 来说,默认读取的是application.yml 或者 application.properties.为了区分不同的环境,也提供了profile的机制.例如,当有一个开发环境的配置文件为application-dev.yml的时候,通过设置 spring.profiles.actives = dev, 程序启动的时候,会优先取 application-dev.yml中的值,然后再去取 application.yml

dljd_011_jdbc再次封装工具类_把数据库的相关信息写到配置文件中,减低代码的耦合度

一.将连接数据库所需的相关信息写入到配置文件.通过读取配置文件来获取数据库的相关信息 package edu.aeon.aeonutils; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import

利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

登录界面 <body><form action="login1.php" method="post"><div>用户名:<input type="text" name="uid" /></div><br /><div>密码:<input type="password" name="pwd" />

读取property配置文件

[支持main方法测试] ResourceBundle resourceBundle = ResourceBundle.getBundle("service");        String url = resourceBundle.getString("serviceid");        System.out.println(url); service.properties [配置文件,放在src根目录下] serviceid=1 [不支持中文] 读取prop

ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创