文档章节

spring中context:property-placeholder/元素

Josean_Luo
 Josean_Luo
发布于 2014/06/07 19:05
字数 425
阅读 100
收藏 1

1.有些参数在某些阶段中是常量

    比如 :a、在开发阶段我们连接数据库时的连接url,username,password,driverClass等 

                 b、分布式应用中client端访问server端所用的server地址,port,service等  

                  c、配置文件的位置

2.而这些参数在不同阶段之间又往往需要改变

    比如:在项目开发阶段和交付阶段数据库的连接信息往往是不同的,分布式应用也是同样的情况。

期望:能不能有一种解决方案可以方便我们在一个阶段内不需要频繁书写一个参数的值,而在不同阶段间又可以方便的切换参数配置信息

解决:spring3中提供了一种简便的方式就是context:property-placeholder/元素

只需要在spring的配置文件里添加一句:<context:property-placeholder location="classpath:jdbc.properties"/> 即可,这里location值为参数配置文件的位置,参数配置文件通常放在src目录下,而参数配置文件的格式跟java通用的参数配置文件相同,即键值对的形式,例如:

#jdbc配置

test.jdbc.driverClassName=com.mysql.jdbc.Driver
test.jdbc.url=jdbc:mysql://localhost:3306/test
test.jdbc.username=root
test.jdbc.password=root

行内#号后面部分为注释

应用:

1.这样一来就可以为spring配置的bean的属性设置值了,比如spring有一个jdbc数据源的类DriverManagerDataSource

在配置文件里这么定义bean:

<bean id="testDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${test.jdbc.driverClassName}"/>
    <property name="url" value="${test.jdbc.url}"/>
    <property name="username" value="${test.jdbc.username}"/>
    <property name="password" value="${test.jdbc.password}"/>
</bean>

2.甚至可以将${ }这种形式的变量用在spring提供的注解当中,为注解的属性提供值


本文转载自:http://blog.sina.com.cn/s/blog_4550f3ca0100ubmt.html

共有 人打赏支持
Josean_Luo
粉丝 7
博文 21
码字总数 5148
作品 0
广州
程序员
私信 提问
加载中

评论(1)

kanlianhui
kanlianhui
多个properties 加逗号试试。
Spring多个占位符配置文件解析源码研究

Spring配置文件: context:property-placeholder location="classpath:/settings.properties" /context:property-placeholder location="classpath:/conf.properties"/ settings.properties ......

zgw06629
2015/04/29
0
0
spring中context:property-placeholder/元素

1.有些参数在某些阶段中是常量 比如:a、在开发阶段我们连接数据库时的连接url,username,password,driverClass等 b、分布式应用中client端访问server端所用的server地址,port,service等...

Megan_zhou
2014/09/18
0
0
关于的一个有趣现象

先来看下A和B两个模块 A模块和B模块都分别拥有自己的Spring XML配置,并分别拥有自己的配置文件: A模块 A模块的Spring配置文件如下: Xml代码 <?xml version="1.0" encoding="UTF-8" ?> <bea...

stamen
2015/08/21
0
0
spring配置文件中util:properties和context:property-placeholder

util:properties和context:property-placeholder标签都可以用来获取外部配置文件中的内容 1、util:properties 它是以声明bean方式来使用,创建了一个bean,下面使用的时候通过SpEL表达式#{}...

Iceberg_XTY
05/27
0
0
Spring配置多个properties的方式

1、Spring简化了加载资源文件的配置 通过<context:property-placeholder去加载,这个元素的写法如下: context:property-placeholder location="classpath:jdbc.properties"/ 如果想要配置多...

毅屺
2016/02/18
155
0

没有更多内容

加载失败,请刷新页面

加载更多

MicroStation Developer Shell

REG ADD HKLM\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS /v ProductDir /t REG_SZ /d "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\" /reg:32 CALL "C:\Program Files (x86)\......

oready
1分钟前
0
0
CURL常用命令

下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中: -o:将文件保存为命令行中指定的文件名的文件中 -O:使用U...

SuShine
6分钟前
0
0
docker搞个wordpress

1.先把wordpress的镜像下载下来 docker pull wordpress 2.下载mysql docker pull mysql:lastest 3.启动mysql docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:t......

无极之岚
18分钟前
0
0
【宇润日常疯测-005】PHP 中的 clone 和 new 性能比较

clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方...

宇润
18分钟前
0
1
点击按钮弹出类似IOS 底部 dialog

implementation 'com.baoyz.actionsheet:library:1.1.7' 然后设置按钮点击监听,,调用下列代码即可 ActionSheet.createBuilder(this, getSupportFragmentManager()) ......

lanyu96
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部