很多框架支持在运行时刻替换配置文件中的placeholder占位符。 Webx,Spring,log4j 就有这个功能。但他们支持占位符替换的配置不同。Webx通过中心配置服务器(Config Sever),Spring通过PropertyPlaceholderConfigurer类来配置,而Log4j则需要在DomConfigurator中把参数传进去。
着重说下 Webx 的 auto-config
AutoConfig 用来标记一些参数(服务器ip,端口,用户名密码,以及一些接口).autoConfig的设计类似Maven Filtering机制(过滤xml文件,替换其中的placeholder)
首先在webx.xml中开启对占位符替换的支持。
autoConfig也可以作为maven的插件来使用,在pom.xml中配置AutoConfig plugin插件,每次执行mvn package、install的时候,就会激活autoConfig对各项文件的配置。
在web工程下 meta-info文件夹下的auto-config.xml文件来定义了一些property项(),以及包含占位符的替换、需要渲染的xml模板。