Lang

BlurObject:模糊对象
BlurObject.bind("1234").toLongValue();
PairObject:结对对象
List<String> _key = new ArrayList<String>();
Map<String, String> _value = new HashMap<String, String>();
...
PairObject _pObj = new PairObject(_key, _value);

//
_pObj.getKey();
//
_pObj.getValue();
TreeObject:树型对象
Object _id = UUIDUtils.UUID();
TreeObject _target = new TreeObject()
        .put("id", _id)
        .put("category", new Byte[]{1, 2, 3, 4})
        .put("create_time", new Date().getTime(), true)
        .put("is_locked", true)
        .put("detail", new TreeObject()
                .put("real_name", "汉字将被混淆", true)
                .put("age", 32));

// 这样赋值是List
TreeObject _list = new TreeObject();
_list.add("list item 1");
_list.add("list item 2");

// 这样赋值代表Map
TreeObject _map = new TreeObject();
_map.put("key1", "keyvalue1");
_map.put("key2", "keyvalue2");

TreeObject idsT = new TreeObject();
idsT.put("ids", _list);
idsT.put("maps", _map);

// List操作
System.out.println(idsT.get("ids").isList());
System.out.println(idsT.get("ids").getList());

// Map操作
System.out.println(idsT.get("maps").isMap());
System.out.println(idsT.get("maps").getMap());

//
_target.put("map", _map);
_target.put("list", _list);

//
System.out.println(_target.get("detail").getMixString("real_name"));

// TreeObject对象转换为JSON字符串输出
String _jsonStr = _target.toJson().toJSONString();
System.out.println(_jsonStr);

// 通过JSON字符串转换为TreeObject对象-->再转为JSON字符串输出
String _jsonStrTmp = (_target = TreeObject.fromJson(_target.toJson())).toJson().toJSONString();
System.out.println(_jsonStrTmp);
System.out.println(_jsonStr.equals(_jsonStrTmp));

Util

关于YMP框架常用的工具类,这里着重介绍以下几个:

  • ClassUtils提供的BeanWrapper工具,它是一个类对象包裹器,赋予对象简单的属性操作能力;

    public static void main(String[] args) throws Exception {
        // 包裹一个Bean对象
        ClassUtils.BeanWrapper<DemoBean> _w = ClassUtils.wrapper(new DemoBean());
        // 输出该对象的成员属性名称
        for (String _fieldName : _w.getFieldNames()) {
            System.out.println(_fieldName);
        }
        // 为成员属性设置值
        _w.setValue("name", "YMP");
        // 获取成员属性值
        _w.getValue("name");
        // 拷贝Bean对象属性到目标对象(不局限相同对象)
        DemoBean _bean = _w.duplicate(new DemoBean());
        // 将对象属性转为Map存储
        Map<String, Object> _maps = _w.toMap();
        // 通过Map对象构建Bean对象并获取Bean实例
        DemoBean _target = ClassUtils.wrapper(DemoBean.class).fromMap(_maps).getTargetObject();
    }
  • RuntimeUtils运行时工具类,获取运行时相关信息;

    • 获取当前环境变量:

      RuntimeUtils.getSystemEnvs();
      
      RuntimeUtils.getSystemEnv("JAVA_HOME");
    • 判断当前运行环境操作系统:

      RuntimeUtils.isUnixOrLinux();
      
      RuntimeUtils.isWindows();
    • 获取应用根路径:若WEB工程则基于.../WEB-INF/返回,若普通工程则返回类所在路径

      RuntimeUtils.getRootPath();
      
      RuntimeUtils.getRootPath(false);
    • 替换环境变量:支持${root}、${user.dir}和${user.home}环境变量占位符替换

      RuntimeUtils.replaceEnvVariable("${root}/home");