モジュール
カスタム モジュールを作成する
ステップ 1: ビジネス要件に従って外部に公開する必要があるビジネス インターフェイスを作成する
public interface IDemoModule { // 为方便引用,定义模块名称常量 String MODULE_NAME = "demomodule"; // 返回自定义模块的参数配置接口对象 IDemoModuleCfg getModuleCfg(); // 对外暴露的业务方法 String sayHi(); }
ステップ 2: カスタム モジュールの構成パラメーターを処理する次のコードは、テスト モジュールに 2 つのカスタム パラメーターがあることを前提としています
ステップ 3: モジュールとビジネス インターフェイスを実装します注: モジュールで
アノテーションを宣言することを忘れないでください。 ;// 定义模块配置接口 public interface IDemoModuleCfg { String getModuleParamOne(); String getModuleParamTwo(); } // 实现模块配置接口 public class DemoModuleCfg implements IDemoModuleCfg { private String __moduleParamOne; private String __moduleParamTwo; public DemoModuleCfg(YMP owner) { // 从YMP框架中获取模块配置映射 Map<String, String> _moduleCfgs = owner.getConfig().getModuleConfigs(IDemoModule.MODULE_NAME); // __moduleParamOne = _moduleCfgs.get("module_param_one"); __moduleParamTwo = _moduleCfgs.get("module_param_two"); } public String getModuleParamOne() { return __moduleParamOne; } public String getModuleParamTwo() { return __moduleParamTwo; } }
@Module
ステップ 4: モジュール構成コンテンツを YMP 構成ファイル ymp-conf.properties に追加します形式: ymp.configs.<モジュール名>.<パラメータ名> =[パラメータ値]@Module public class DemoModule implements IModule, IDemoModule { private YMP __owner; private IDemoModuleCfg __moduleCfg; private boolean __inited; public String getName() { return IDemoModule.MODULE_NAME; } public void init(YMP owner) throws Exception { if (!__inited) { __owner = owner; __moduleCfg = new DemoModuleCfg(owner); // __inited = true; } } public boolean isInited() { return __inited; } public YMP getOwner() { return __owner; } public IDemoModuleCfg getModuleCfg() { return __moduleCfg; } public void destroy() throws Exception { if (__inited) { __inited = false; // __moduleCfg = null; __owner = null; } } public String sayHi() { return "Hi, YMP!"; } }
カスタムモジュールを呼び出します
ymp.configs.demomodule.module_param_one=module_param_one_value
ymp.configs.demomodule.module_param_two=module_param_two_value
注
: カスタムモジュールはIoC、AOP、その他の機能をサポートします。