# treeUtilAspect **Repository Path**: Mzhoulee/treeUtilAspect ## Basic Information - **Project Name**: treeUtilAspect - **Description**: 树的插件 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: dev1.2 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-19 - **Last Updated**: 2021-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # treeUtilAspect #### 介绍 树的插件 #### 安装教程 1. 码云下载源码打包到自己的maven本地仓库 #### 使用说明 #####重点类与注解的说明 1. 父类TreeNode.java (com.lmz.tree.vo.TreeNode) ```java public class TreeNode { /** * 节点名称 */ private String label; /** * 节点id */ private String id; /** * 节点父级id */ private String parentId; /** * 排序字段 */ private String sortNumber; /** * 节点层级 */ private String level; /** * 当前节点的子节点数量 */ private Long count; private List children; public void add(TreeNode node) { children.add(node); } } ``` 这里只是一些构建的基本信息,比如树的节点名称,id,父级id等 使用方式,可以自己自定义树的返回信息,继承此类即可 ```java @Data @EqualsAndHashCode(callSuper = false) public class TestTree extends TreeNode { private String icon; private String url; } ``` 2. 注解 @TreeFiled() 将需要封装成树的数据包装为自己定义的树形返回信息 使用: ```java @Data public class User { @TreeId //定义id private String uuid; @TreeParentId //定义父级id private String parentUuid; @TreeLabel //定义名称 private String label; @TreeSort//定义组内排序字段 private Integer sort; @TreeFiled(key = "icon")//定义其他属性 对应自定义tree的属性 private String images; @TreeFiled(key = "url")//定义其他属性 对应自定义tree的属性 private String path; } ``` 3. 使用方式 >注入TreeService 调用getTree()即可 ```java @Service public class UserService { @Autowired private TreeService treeService; public List getTree() { //这里的list从自己的数据库取 List moduleBeans = new ArrayList<>(); treeService.getTree(moduleBeans,TestTree.class); return moduleBeans; } } ``` 总结: 1. 定义自己的Tree返回实体继承父类TreeNode,也可以不继承直接用父类TreeNode作为返回实体 2. 数据库中返回的数据实体类哪个字段需要封装成树的属性需要加@TreeFile(key="与树返回实体属性对应"") 只需三步就可完成树的构建 目前此工具只可以满足大部分常用的树,如果需要特殊的一些要求请自行修改源码TreeUtil,有时间会继续更新 谢谢! #### 码云特技 码云地址 [树工具](https://gitee.com/Mzhoulee/treeUtilAspect/tree/dev1.2/)