使用 Hasor 实现 模版化配置文件
使用 Hasor 实现 模版化配置文件
哈库纳 发表于1年前
使用 Hasor 实现 模版化配置文件
  • 发表于 1年前
  • 阅读 133
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

    Hasor 不光小巧还很精良,这一片文章我们来讲一讲 “模版化配置文件”。

    首先在了解模版化配置文件之前先看一下我们的实际开发中的问题。现在假设你有一个小团队,大家分别开发同一个项目的不同功能。通常情况下我们会为项目划分几个大模块,然后为每个模块建立一个自己的配置文件。或者干脆所有项目的配置都放到一个配置文件中。

    在这些配置信息中一般会包涵例如:文件上传路、数据库连接、远程接口服务器地址 这些配置,这些配置通常在不同的环境下有着不同的配置值,例如:日常、测试、预发、生产。

    而有些项目稍微改一下配置就回面部全非变成另外一个系统,这些配置也是跟随时机部署情况灵活改变的。

    如果你开发的是更大一点的网站,css、文件上传中心、图片服务器、等等都会独立出来。当你开发完应用程序,光是在生产环境替换这些配置信息就够你忙活一阵子了。更何况如果项目分了模块,要替换的配置文件还会更多。

    “模版化配置文件” 的提出是为了解决这个问题。

    下面我们以 数据库连接配置为例:

<config xmlns="http://project.hasor.net/hasor/schema/main">
    ...
    <jdbcSettings>
        <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
        <jdbcURL>jdbc:mysql://${jdbc.database_host}:3306/${jdbc.database_name}?useUnicode=true&amp;characterEncoding=utf-8</jdbcURL>
        <userName>${jdbc.user}</userName>
        <userPassword>${jdbc.password}</userPassword>
    </jdbcSettings>
    ...
</config>

    在上面这个配置中我们可以看到这样的结构“${xxxxx}” 。在 Hasor 的配置文件中,这段花括号括起来的表示的是环境变量名称。在上面这单代码中可以看到一共有 4 个环境变量配置。

${jdbc.database_host}
${jdbc.database_name}
${jdbc.user}
${jdbc.password}

    接下来我们在 classpath 目录下新建一个名为 “env.config” 的文本文件。然后把上面四个配置项保存到这里。Hasor 在启动的时候会加载 “env.config” 的配置信息,然后 Hasor 会使用这个配置信息替换配置文件中的相应配置信息。

jdbc.database_host = ...
jdbc.database_name = ...
jdbc.user          = ...
jdbc.password      = ...

    env.config 文件除了放置到 classpath 目录下还可以放到 WORK_HOME 环境变量表示的目录下也可以。如果放到 WORK_HOME 下面,您的应用程序包都不需要有任何修改了。

共有 人打赏支持
哈库纳
粉丝 928
博文 81
码字总数 149803
作品 4
×
哈库纳
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: