W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
基于Properties文件的基礎(chǔ)配置格式如下, 同樣請將該文件命名為configuration.properties并放置在config_home
路徑下的cfgs目錄里:
#-------------------------------------------------------------------------- # 配置文件內(nèi)容格式: properties.<categoryName>.<propertyName>=[propertyValue] # # 注意: attributes將作為關(guān)鍵字使用, 用于表示分類, 屬性, 集合和MAP的子屬性集合 #-------------------------------------------------------------------------- # 舉例1: 默認分類下表示公司名稱, 默認分類名稱為default properties.default.company_name=Apple Inc. #-------------------------------------------------------------------------- # 數(shù)組和集合數(shù)據(jù)類型的表示方法: 多個值之間用'|'分隔, 如: Value1|Value2|...|ValueN #-------------------------------------------------------------------------- properties.default.products=iphone|ipad|imac|itouch #-------------------------------------------------------------------------- # MAP<K, V>數(shù)據(jù)類型的表示方法: # 如:產(chǎn)品規(guī)格(product_spec)的K分別是color|weight|size|age, 對應(yīng)的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數(shù)據(jù)類型的attributes和MAP本身的表示方法達到的效果是一樣的 properties.default.product_spec.attributes.abc=xyz
修改配置類DemoConfig如下, 通過@ConfigurationProvider
注解指定配置文件內(nèi)容解析器:
@Configuration("cfgs/configuration.properties") @ConfigurationProvider(PropertyConfigurationProvider.class) public class DemoConfig extends DefaultConfiguration { }
測試代碼, 完成模塊初始化并加載配置文件內(nèi)容:
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(); } }
重新執(zhí)行示例代碼, 執(zhí)行結(jié)果與示例一結(jié)果相同:
Apple Inc. {abc=xzy, color=red, size=small, weight=120g, age=2015} [itouch, imac, ipad, iphone]
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: