Lang

BlurObject:模糊对象
BlurObject.bind("1234").toLongValue();
PairObject:结对对象
List _key = new ArrayList(); Map _value = new HashMap(); ... 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 _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 _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");