收藏914
分享
阅读11891
更新时间2022-04-11
基于Properties文件的基础配置格式如下, 同样请将该文件命名为configuration.properties并放置在config_home路径下的cfgs目录里:
#-------------------------------------------------------------------------- # 配置文件内容格式: properties.. =[propertyValue] # # 注意: attributes将作为关键字使用, 用于表示分类, 属性, 集合和MAP的子属性集合 #-------------------------------------------------------------------------- # 举例1: 默认分类下表示公司名称, 默认分类名称为default properties.default.company_name=Apple Inc. #-------------------------------------------------------------------------- # 数组和集合数据类型的表示方法: 多个值之间用'|'分隔, 如: Value1|Value2|...|ValueN #-------------------------------------------------------------------------- properties.default.products=iphone|ipad|imac|itouch #-------------------------------------------------------------------------- # MAP 数据类型的表示方法: # 如:产品规格(product_spec)的K分别是color|weight|size|age, 对应的V分别是热red|120g|small|2015 #-------------------------------------------------------------------------- properties.default.product_spec.color=red properties.default.product_spec.weight=120g properties.default.product_spec.size=small properties.default.product_spec.age=2015 # 每个MAP都有属于其自身的属性列表(深度仅为一级), 用attributes表示, abc代表属性key, xyz代表属性值 # 注: MAP数据类型的attributes和MAP本身的表示方法达到的效果是一样的 properties.default.product_spec.attributes.abc=xyz
修改配置类DemoConfig如下, 通过@ConfigurationProvider注解指定配置文件内容解析器:
@Configuration("cfgs/configuration.properties")
@ConfigurationProvider(PropertyConfigurationProvider.class)
public class DemoConfig extends DefaultConfiguration {
}测试代码, 完成模块初始化并加载配置文件内容:
public static void main(String[] args) throws Exception {
YMP.get().init();
try {
DemoConfig _cfg = new DemoConfig();
if (Cfgs.get().fillCfg(_cfg)) {
System.out.println(_cfg.getString("company_name"));
System.out.println(_cfg.getMap("product_spec"));
System.out.println(_cfg.getList("products"));
}
} finally {
YMP.get().destroy();
}
}重新执行示例代码, 执行结果与示例一结果相同:
Apple Inc.
{abc=xzy, color=red, size=small, weight=120g, age=2015}
[itouch, imac, ipad, iphone]相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习