项目中有些参数在某些阶段中是常量,但是有时候又会面临被改变
比如 :在开发阶段我们连接数据库时的连接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提供的注解当中,为注解的属性提供值
分享到:
相关推荐
context:property-placeholder 和util:properties 博客:https://blog.csdn.net/u010476739/article/details/76735527
<context:property-placeholder location="classpath:jdbc.properties" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name...
主要介绍了Spring整合Mybatis使用<context>时的坑 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
<context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置数据库连接池 --> <bean id="dataSource" class=...
<context:property-placeholder location="classpath:jdbc.properties" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name=...
SSH笔记-通过property-placeholder使用外部属性文件的demo
<i class="icon ion-ios-search placeholder-icon" style="margin: 20px 0px;color: #BBBBBB"></i> <input class="small-text" type="search" ng-model="searchStr" style="background: transparent;width: 100%" ...
15. <context:property-placeholder location="classpath:/hibernate.properties" /> 16. 17. <bean id="sessionFactory" 18. class="org.springframework.orm.hibernate3.annotation....
<h5>填写收货地址:</h5> <form class="mui-input-group"> <div class="mui-input-row"> <label>姓名</label> <input type="text" placeholder="填写姓名"> </div> ...
<context:property-placeholder location="classpath:system.properties"/> <!--服务端配置--> <bean id="rpcServer" class="com.yingjun.rpc.server.RPCServer"> <constructor-arg name=...
本篇文章主要介绍了Spring中property-placeholder的使用与解析详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
<div id="dndArea" class="placeholder"> <div id="filePicker"></div> <p>或将照片拖到这里,单次最多可选9张</p> </div> </div> <div class="statusBar" style="display:none;"> <div class="progress"> ...
input type="text" placeholder="搜索" value=" "> 默认的placeholder字体颜色是呈浅灰色,如果想改变这个默认颜色,解决方案如下: XML/HTML Code复制内容到剪贴板 input:-moz-placeholder, textarea:-moz-...
<div class=layui-inline> <div class=layui-input-inline> <input type=text name=start_time class=layui-input id=start_time placeholder=开始时间(修改时间)> </div> </div> <div class=layui-...
top active">Log In<span></span></a></li><li class="signup-top-parent"><a href="https://dash.readme.io/signup" class="signup-top">Sign Up<span></span></a></li></ul></div></div></nav></header><div class...
Laravel开发-placeholder 用于使用占位符图像服务向应用程序添加图像的Laravel包。
<property name="OrderNumber"/> <property name="OrderDate"/> <many-to-one name="Customer" /> <set name="OrderLines" cascade="all-delete-orphan" > <key column="OrderId"/> <one-to-many class=...
5.3. <a>标签 target属性:在窗口中打开链接 17 5.4. <table>家族:为网页添加表格 18 5.5. <thead>、<tbody>、<tfoot>标签:定义表格的表头、表身、表尾 19 6. HTML5表单标签 20 6.1. <form>标签:创建表单,与用户...
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
<div class="book_sort_bottom">教材 | 中小学教辅 | 外语</div> <!--<div class="book_sort_bottom">保健 | 家教 | 美丽装扮 | 育儿 | 美食 | 旅游 | 收藏 | 生活 | 体育 | 地图 | 个人理财</div> <div class...