解决开发环境与部属环境差异性的一种实践
解决开发环境与部属环境差异性的一种实践
since1986 发表于3年前
解决开发环境与部属环境差异性的一种实践
  • 发表于 3年前
  • 阅读 138
  • 收藏 6
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 一种在部署时不需修改任何配置的方法

做spring web的同学可能都会遇到开发环境与部属环境不一致的情况,比如说数据库的用户名与密码,单点登录服务器的域名,等等,要是每回开发完成需要部署时都再去改一遍配置文件岂不是非常麻烦。

于是,我在我得一个项目中实践了一种能够在部署时无需修改配置文件的方法,他的关键就是使用spring的 <util:properties> :

<context:property-placeholder properties-ref="app"/>
<!-- 
         spring的<util:properties>有这样两点特性:
         1.默认情况下spring会用外部properties文件中的properties替换掉“local”的properties(也就是使用<prop>配置的properties)
         2.配置了“ignore-resource-not-found=true”就会忽略找不到的properties文件
         利用这两点特性,将开发级的环境写在外部properties文件中,并设置成“ignore-resource-not-found=true”,同时将生产级的环境写在<prop>中,这样,当部署后因为忽略了找不到的外部properties文件,所以自然就使用了<prop>中定义的properties;
         同时,在开发环境中,因为能够找到外部的properties文件,所以外部配置(开发级配置)就会覆盖掉local的配置(生产级配置)。
         通过这样的方法在部署时就不需修改任何配置了。 
-->    
<util:properties id="app" ignore-resource-not-found="true" location="file:C:/Dev/workspace/admin/user/src/main/resources/app-config.properties">
        <!-- 生产环境 -->
        <prop key="dataSource.url">jdbc:mysql://localhost:3306/admin_user</prop>
        <prop key="dataSource.username">dev</prop>
        <prop key="dataSource.password">pass</prop>

        <prop key="hibernate.hbm2ddl.auto">validate</prop>
        <prop key="hibernate.show_sql">false</prop>

        <prop key="cas.service">somedomain:8444/user</prop>
        <prop key="cas.server">somedomain:8444/cas</prop>
        <prop key="cas.key">CAS_KEY_ADMIN.USER</prop>
</util:properties>

spring的<util:properties>有这样两点特性:
         1.默认情况下spring会用外部properties文件中的properties替换掉“local”的properties(也就是使用<prop>配置的properties)
         2.配置了“ignore-resource-not-found=true”就会忽略找不到的properties文件
         利用这两点特性,将开发级的环境写在外部properties文件中并设置成“ignore-resource-not-found=true”同时将生产级的环境写在<prop>中,这样,当部署后因为忽略了找不到的外部properties文件,所以自然就使用了<prop>中定义的properties;
         同时,在开发环境中,因为能够找到外部的properties文件,所以外部配置(开发级配置)就会覆盖掉local的配置(生产级配置)。
         通过这样的方法在部署时就不需修改任何配置了。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 7
博文 59
码字总数 10510
作品 1
×
since1986
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: