autoconfig简介:
autoconfig是阿里巴巴提供的一款开源web项目配置工具,源代码svn地址为 http://code.taobao.org/svn/webx/citrus-tool/trunk/。在checkout的源代码的根目录下运行 mvn clean install -Dmaven.test.skip。由于autoconfig使用maven build,安装之前必须先安装maven。
autoconfig功能:
提供项目配置文件中的placeholder(¥{****})占位符替换功能 ,支持编译时替换,运行时替换。
例如在webx中定义的placeholder
${productionMode:true}
在启动时可以加入 jvm 参数:-productionMode=false|true 指定使用哪一种模式,默认值为true 在${productionMode:true}中已经设置了默认值。
autoconfig优点:
配置文件是静态的,只需要在编写时加入占位符。在具体时环境中替换不同的参数本身不需要修改。
可以随时改变参数的值,只需要在启动时指定不同的jvm参数或指定不同的properties文件即可。
配置文件与程序分离,不需要在程序中加入特定逻辑,低耦合便于应用。
不足:
并不是所有的框架都支持autoconfig
支持该技术的框架各有不同的用法。例如:Spring和Log4j都支持placeholder替换,然则它们的做法是完全不同的。Spring通过PropertyPlaceholderConfigurer类来配置,而Log4j则需要在DomConfigurator中把参数传进去。
autoconfig 使用:
1:集成在maven中
在maven中加入plugins 作为一个外部插件集成 加入配置如下:
com.alibaba.citrus.tool
autoconfig-maven-plugin
${autoconfig-plugin-version}
package
autoconfig
每次mvn package 或 mvn install 执行时都会自动引用 autoconfig 根据