系统配置项的扩展

作者:  最后修改:2013年12月19日  浏览数:387

  使

  系统建设时通常会遇到各类公用数据,如果代码中每一处都直接写置,则存在两个问题:一个是修改时麻烦,另一个是运维时很难了解各个配置项的作用。泽元框架为了保证项目上线后运营人员能够快速的使用相应的配置项,且保证修改方便,通过配置项代码扩展的方式提供了配置项的扩展功能。

 

  相关数据结构

  ZDConfig表结构主要字段如下图:

     

  主要字段包括:Code表示配置项的ID,用于区分各个配置项;Name为配置项的中文名称;Value是用户填写的值,未填写时无此记录。

 

  涉及的类说明

  继承类com.zving.platform.FixedConfigItem,扩展服务com. zving. platform. Service. ConfigService,该扩展服务主要用于系统配置项。

 

  详

  第一步:在相应的插件配置中新增一个扩展服务项,填写相关的信息,ID可使用Class的包路径+类名(com.zving.test.service.AddFixedConfigService),便于识别。选择扩展服务com.zving.platform.service.ConfigService(需当前插件依赖platform插件)点击Class可弹出新建Class窗口,默认继承FixedConfigItem类,定义包名 类名(com.zving.test.serviceAddFixedConfigService),确定保存。

 

  第二步:进入com.zving.test.service. AddFixedConfigService类中,实现相应的方法,代码如下

  上述Class中除了定义一个公共构造器外还添加了getValue方法,该方法返回该配置项的值,若未做配置则返回默认值。在构造方法中使用的参数分类为配置项的ID、数据类型、页面显示的控件类型、配置项名称、所在插件的ID;其中数据类型可选,控件类型可选,具体参考DataTypeControlType,若ControlType为多数据选项或下拉时,需要设置相应的数据集合,使用super.setOptionsByCode(“CodeID”)。

  完成以上操作后重启应用即可看到在系统配置项管理中已包含上述的代码项Test.TestConfig,如下图:

      

  至此配置项的添加已经完成,常见的使用场景如下:

  • 模板template文件中可通过${Config.Test.TestConfig}直接获取;
  • Java代码中可通过Config.getValue(“Test.TestConfig”)或者AddFixedConfigService.getValue()直接获取使用。