`

spring3配置文件中的<context:property-placeholder>标签

 
阅读更多
项目中有些参数在某些阶段中是常量,但是有时候又会面临被改变
比如 :在开发阶段我们连接数据库时的连接url,username,password,driverClass等
分布式应用中client端访问server端所用的server地址,port,service地址等
配置文件的位置
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提供的注解当中,为注解的属性提供值


分享到:
评论
4 楼 jinnianshilongnian 2013-07-13  
TheMatrix 写道
CL0724 写道
xiaobadi 写道
:<context:property-placeholder location="classpath:jdbc.properties"/>
这里的jdbc.properties可不可以放在某个硬盘下的文件夹下,不放在项目里啊

你可以用磁盘路径试一下,应该是可以的


同问,比如:放在WEB-INF/config/db.properties,这样。location应该怎么配?

在web环境下,直接 /WEB-INF/config/db.properties 即可(非web环境不可用)
3 楼 TheMatrix 2013-07-13  
CL0724 写道
xiaobadi 写道
:<context:property-placeholder location="classpath:jdbc.properties"/>
这里的jdbc.properties可不可以放在某个硬盘下的文件夹下,不放在项目里啊

你可以用磁盘路径试一下,应该是可以的


同问,比如:放在WEB-INF/config/db.properties,这样。location应该怎么配?
2 楼 CL0724 2011-12-13  
xiaobadi 写道
:<context:property-placeholder location="classpath:jdbc.properties"/>
这里的jdbc.properties可不可以放在某个硬盘下的文件夹下,不放在项目里啊

你可以用磁盘路径试一下,应该是可以的
1 楼 xiaobadi 2011-11-01  
:<context:property-placeholder location="classpath:jdbc.properties"/>
这里的jdbc.properties可不可以放在某个硬盘下的文件夹下,不放在项目里啊

相关推荐

    context:property-placeholder 和util:properties

    context:property-placeholder 和util:properties 博客:https://blog.csdn.net/u010476739/article/details/76735527

    struts2.3+hibernate3.6+spring3.1整合的纯xml配置的小项目

    &lt;context:property-placeholder location="classpath:jdbc.properties" /&gt; &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&gt; &lt;property name...

    Spring整合Mybatis使用&lt;context:property-placeholder&gt;时的坑

    主要介绍了Spring整合Mybatis使用&lt;context&gt;时的坑 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    一个整合ssm框架的实例

    &lt;context:property-placeholder location="classpath:jdbc.properties"/&gt; &lt;!-- 配置数据库连接池 --&gt; &lt;bean id="dataSource" class=...

    OA项目SSH整合框架

    &lt;context:property-placeholder location="classpath:jdbc.properties" /&gt; &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;property name=...

    SSH笔记-通过property-placeholder使用外部属性文件

    SSH笔记-通过property-placeholder使用外部属性文件的demo

    ionic 实现商品分类

    &lt;i class="icon ion-ios-search placeholder-icon" style="margin: 20px 0px;color: #BBBBBB"&gt;&lt;/i&gt; &lt;input class="small-text" type="search" ng-model="searchStr" style="background: transparent;width: 100%" ...

    spring_MVC源码

    15. &lt;context:property-placeholder location="classpath:/hibernate.properties" /&gt; 16. 17. &lt;bean id="sessionFactory" 18. class="org.springframework.orm.hibernate3.annotation....

    移动全屏代码

    &lt;h5&gt;填写收货地址:&lt;/h5&gt; &lt;form class="mui-input-group"&gt; &lt;div class="mui-input-row"&gt; &lt;label&gt;姓名&lt;/label&gt; &lt;input type="text" placeholder="填写姓名"&gt; &lt;/div&gt; ...

    轻量级高性能 RPC 框架 HRPC.zip

     &lt;context:property-placeholder location="classpath:system.properties"/&gt;  &lt;!--服务端配置--&gt;  &lt;bean id="rpcServer" class="com.yingjun.rpc.server.RPCServer"&gt;  &lt;constructor-arg name=...

    Spring中property-placeholder的使用与解析详解

    本篇文章主要介绍了Spring中property-placeholder的使用与解析详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    图片上传插件 webuploader

    &lt;div id="dndArea" class="placeholder"&gt; &lt;div id="filePicker"&gt;&lt;/div&gt; &lt;p&gt;或将照片拖到这里,单次最多可选9张&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="statusBar" style="display:none;"&gt; &lt;div class="progress"&gt; ...

    修改输入框placeholder文字默认颜色-webkit-input-placeholder方法

    input type="text" placeholder="搜索" value=" "&gt; 默认的placeholder字体颜色是呈浅灰色,如果想改变这个默认颜色,解决方案如下: XML/HTML Code复制内容到剪贴板 input:-moz-placeholder, textarea:-moz-...

    layui时间控件选择时间范围的实现方法

    &lt;div class=layui-inline&gt; &lt;div class=layui-input-inline&gt; &lt;input type=text name=start_time class=layui-input id=start_time placeholder=开始时间(修改时间)&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class=layui-...

    登录页面源码

    top active"&gt;Log In&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="signup-top-parent"&gt;&lt;a href="https://dash.readme.io/signup" class="signup-top"&gt;Sign Up&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/nav&gt;&lt;/header&gt;&lt;div class...

    Laravel开发-placeholder

    Laravel开发-placeholder 用于使用占位符图像服务向应用程序添加图像的Laravel包。

    Lazy loading - eager loading

    &lt;property name="OrderNumber"/&gt; &lt;property name="OrderDate"/&gt; &lt;many-to-one name="Customer" /&gt; &lt;set name="OrderLines" cascade="all-delete-orphan" &gt; &lt;key column="OrderId"/&gt; &lt;one-to-many class=...

    HTML_CSS学习笔记.docx

    5.3. &lt;a&gt;标签 target属性:在窗口中打开链接 17 5.4. &lt;table&gt;家族:为网页添加表格 18 5.5. &lt;thead&gt;、&lt;tbody&gt;、&lt;tfoot&gt;标签:定义表格的表头、表身、表尾 19 6. HTML5表单标签 20 6.1. &lt;form&gt;标签:创建表单,与用户...

    springmybatis

    查询出列表,也就是返回list, 在我们这个例子中也就是 List&lt;User&gt; , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...

    蔚蓝网上书店首页代码

    &lt;div class="book_sort_bottom"&gt;教材 | 中小学教辅 | 外语&lt;/div&gt; &lt;!--&lt;div class="book_sort_bottom"&gt;保健 | 家教 | 美丽装扮 | 育儿 | 美食 | 旅游 | 收藏 | 生活 | 体育 | 地图 | 个人理财&lt;/div&gt; &lt;div class...

Global site tag (gtag.js) - Google Analytics