搜尋

首頁  >  問答  >  主體

關於Java運行時動態解析屬性值的方案

在日常開發的過程中 經常有需要動態解析屬性的場景 如

場景一 不同的規則需要調用不同的方法來獲取所需數據

RF09001=applyService#countApplyTimesCurrentDay#phone

其中phone就需要動態解析

場景二 一個規則需要調用多個外部接口

因為提供了一個通用的鏈式查詢接口 於是接口2所需的入參需要動態解析接口1的返回信息

目前動態解析均是使用spring el來實現的 如下所示

        Foo f = new Foo();
        f.setPhone(RandomStringUtils.randomNumeric(11));
        f.setData(newHashMap("addr","北京市朝阳区"));

        Expression expression = expressionParser.parseExpression("phone");
        String resolvedValue = expression.getValue(f, String.class);
        assertEquals(f.getPhone(),resolvedValue);

        expression = expressionParser.parseExpression("data['addr']");
        resolvedValue = expression.getValue(f, String.class);
        assertEquals(f.getData().get("addr"),resolvedValue);

不知針對類似這樣的場景, 主流一般是怎樣處理的?

大家讲道理大家讲道理2813 天前521

全部回覆(0)我來回復

無回覆
  • 取消回覆