layui.use(['tree','util'],function () {
        var tree=layui.tree
            ,$=layui.jquery;
        $.ajax({
            url:'/TTT_war_exploded/sysUser/data',   //在控制层读取数据的地址
            type:'get',                 //提交方式
            dataType:'json',            //数据格式json
            success:function (data) {
                alert(JSON.stringify(data))
                tree.render({
                    elem:'#test1',      //对应你要绑定的元素
                    data:data
                    ,showCheckbox:true      //是否显示复选框
                })
            }
        })
    })

后台

 @RequestMapping(value="/data",produces = "text/plain;charset=utf-8")
    @ResponseBody
    public Object SelectPermissions()
    {
        //调用获取数据方法从0(上级id)开始         List<Dictionary<String, Object>>是转换这种数据的格式
        List<Dictionary<String, Object>> data = GetTree(0);
        return JSON.toJSONString(data);     //返回给前端
    }
    //在这个方法读取递归数据
    public List<Dictionary<String, Object>> GetTree(int id)
    {
        //创建一个字典集合  接收数据等一下把这种格式的数据返回出去
        List<Dictionary<String, Object>> jsonoList = new ArrayList<>();
        //查询出表的所有数据     根据0查询等于查询数据的父类
        List<Sx> treeList = serviceBook.sxListService(id);
        for (Sx dr : treeList)//foreach循环遍历
        {
            //创建字典,将所需的字段和值添加进去
            Dictionary<String, Object> json = new Hashtable<>();
            json.put("title", dr.getName());//标题
            json.put("id", dr.getUid());//上级id
            //子类 递归传入自身id,继续遍历子类
            json.put("children", GetTree(dr.getId()));
            jsonoList.add(json);//将字典添加进字典集合
        }
        return jsonoList;//返回字典集合
    }