# magic4j **Repository Path**: Jhope/magic4j ## Basic Information - **Project Name**: magic4j - **Description**: magic4j是一个【前后端分离】快速开发平台,支持【多租户】,基于 Spring Boot、mybatisPlus 和 Vue 开发,可以用于所有的Web应用程序,内置了许多通用性的功能模块,如用户管理、角色管理、资源管理等。magic4j旨在帮助中小型企业及个人实现项目的快速开发和交付。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 65 - **Created**: 2021-03-16 - **Last Updated**: 2021-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、项目简介 一直都想按照自己的想法去开发一个基于SpringBoot的javaWeb快速开发平台(基础开发框架),利用业余时间,从0到1,终于按照自己的想法去实现了一个基于SpringBoot的java快速开发平台,我将其命名为【magic4j】,寓意【神奇的、魔法般的Java开发平台】。 magic4j是一个【前后端分离】快速开发平台,支持【多租户】,基于 Spring Boot、mybatisPlus 和 Vue 开发,可以用于所有的Web应用程序,内置了许多通用性的功能模块,如用户管理、角色管理、资源管理等。magic4j旨在帮助中小型企业及个人实现项目的快速开发和交付。 ## 二、主要特性 - 采用业界主流的【前后端分离】的开发模式,前端开源框架采用【vue-element-admin】 (基于 Vue、Element-UI) - 后端采用【Springboot+Mybatis-Plus+jwt+redis】等主流的技术栈实现,并对其基础的【缓存组件】、【文件存储组件】做了高度的封装,提供了多种实现,做到开箱即用,多种实现方式灵活切换。 - 基于Mybatis-Plus实现的功能强大的【代码生成器】、根据自定义模板生成Entity、Mapper、Mppper.xml、DTO、Service、Controller代码,生成的文件直接到相应的业务模块,省去文件拷贝步骤,灵活可控。 - 采用全新的思路自主实现了基于【RBAC模型的权限管理】,实现了【菜单权限】、【功能权限】、【数据权限】的细致化访问权限控制。 - 支持【多租户】,租户数据隔离方案为:【共享数据库、Schema、数据表】,通过在表中增加【tenant_id】字段+【多租户SQL解析器】优雅地实现租户数据隔离。同时支持【一键开启或者关闭】多租户模式 - 使用【Mybatis拦截器】优雅的实现了数据权限,根据角色所拥有的数据权限范围在执行SQL查询过程中动态拼接过滤条件,实现数据过滤。同时支持【一键开启或者关闭】数据权限控制 - 支持【jwt和自定义Token】两种用户登录Token认证,系统默认使用的Jwt进行ToKen认证,可以通过修改application.yml配置文件切换Token的认证方式,根据情况自由选择。 - 自带了【缓存组件】,提供基于注解和API两种使用方式,基于【Redis和caffeine】两种实现方式,可以通过修改application.yml配置文件切换缓存的实现,Redis的方式又支持【单机和集群】两种模式。这样可以做到开发阶段使用caffeine、测试阶段使用Redis单机,生产使用Redis集群三种方式自由切换。 - 支持【本地】、【sftp】、【FastDFS】以及第三方【阿里云OSS】、【腾讯云COS】、【七牛云存储】多种文件存储服务,可动态任意切换。 - 注重【数据安全】传输,提供了【RSA和AES】两种加密方式,客户端通过调用RestFul API获取到RSA加密公钥和AES加密密钥,将客户端的敏感数据加密后传输。同时提供了通用的数据解密过滤器,在请求到达业务处理接口之前,将数据解密成明文,免去了接口手动处理解密步骤,专注业务实现逻辑。 - 注重【密码安全】传输,对于登录、修改密码、重置密码这些涉及到密码传输的操作都使用了RSA加密后再传输到服务端,避免了密码直接明文暴露传输。 - 支持【自定义密码验证规则】,可以灵活设置【密码长度】、至少包含的【大小写字母】、【数字】、【特殊字符】等组成规则,增加密码的复杂度 - 使用【ThreadLocal管理登录用户信息】实现随用随取,可以在任何方法中很方便的获取用户信息 - 注重日志信息收集,系统日志细分为【登录日志】和【操作日志】,详细记录的了用户的操作行为和登录行为,通过系统日志可以很清新地知道用户对系统进行的相关操作。 - 整合Quartz做【分布式定时任务】,并记录了任务【执行日志】,任务执行情况一目了然。 - 使用【拦截器实现防止重复提交】,保证一些关键性操作的幂等性。 - 完善的【用户】、【角色】、【菜单】、【组织机构】、【岗位】、【数据字典】、【系统配置】等基础功能。 - 接口访问统一采用标准的restful方式,集成swagger-ui在线接口文档,支持跨域请求调用,服务端采用主流的cros作为跨域解决方案。 - 支持【MySQL】和【Postgresql】两种主流数据库,其他主流的数据库Oracle和SQLServer理论上也都支持。 - 强大的底层封装,提供了自定义注解Auth、AutoIdempotent、Encrypt、Log、DataScope,优雅地实现了访问权限验证、方法幂等性校验,数据统一解密处理、AOP日志记录,数据权限控制。 - 自定义了【cloudStorage-spring-boot-starter】、【fastdfs-spring-boot-starter】、【jsch-spring-boot-starter】,方便以starter快速集成oss、cos、kodo、fastdfs、jsch。 - 大部分基础功能模块都支持Excel导入导出功能,导出到Excel支持自定义选择需要导出列,支持按选择的行进行导出。 - 基于Maven构建的多模块项目,支持分环境(test、prod)打包,预设了大量的环境变量,便于运维人员部署时动态替换相关配置(如DB连接地址、用户名、密码) ## 三、内置功能 1. 用户管理:管理系统用户,实现对用户增删改查、批量禁用和启用,重置密码,Excel导入导出 1. 部门管理:管理系统组织机构(公司、部门),树结构展现,支持数据权限。 1. 岗位管理:管理系统用户所属担任职务。 1. 菜单管理:管理系统菜单,树结构展现。 1. 角色管理:角色菜单权限、操作权限分配、设置角色按部门进行数据范围权限划分。 1. 租户管理:管理合作的租户信息 1. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 1. 安全设置:用于帐号锁定设置和配置密码验证规则。 1. 平台设置:用于设置系统的Logo和系统名称 1. 配置管理:对系统动态配置常用参数进行维护。 1. 操作日志:记录用户对系统进行的增删改行为,支持按操作用户、业务模块、操作结果、操作时间多维度组合的数据查询。 1. 登录日志:记录用户的登录操作,支持按登录用户、登录结果、登录时间多维度组合的数据查询。 1. 定时任务:在线添加、修改、删除、执行、暂停、恢复调度任务。 1. 调度日志:记录调度任务的执行情况。 1. 文件管理:普通文件上传、下载、管理上传文件。 1. 表单构建器:拖动表单元素生成相应的HTML代码。 1. 二维码管理:基于google的zxing实现的生成二维码功能。 1. 区域管理:对中国省市县行政区域基础数据进行管理 1. 用户访问地图:基于地图的方式统计来自各个省份城市的访问次数 1. 实用案例:百度地图集成案例 ## 四、技术选型 ### 4.1、开发环境 - JDK:JDK 1.8 - IDE: IntelliJ IDEA,安装lombok插件、MybatisX快速开发插件。MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。 安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。 - 依赖管理:Maven3.x - 数据库:MySQL5.7或者MySQL8 - 缓存:如果使用的是Redis缓存,则需要安装Redis - 文件服务器:如果将文件上传到FastDFS,则需要搭建FastDFS文件服务器 - Nginx:负载均衡以及静态资源访问服务器,部署magic-ui前端项目需要使用到nginx ### 4.2、后端 - 基础框架:Spring Boot 2.2.6.RELEASE - 持久化框架:Mybatis-Plus_3.4.0 - 数据库:MySQL - 安全框架:权限拦截器+自定义注解实现类似Shiro的细粒度权限控制 - JwtToken生成与解析:jjwt_0.9.0 - 数据库连接池:Hikari,一款非常强大,高效,并且号称“史上最快连接池”。在SpringBoot2.0之后,采用的默认数据库连接池就是Hikari - 缓存框架:redis+caffeine - 文件存储:oss、cos、kodo、fastdfs、sftp - 定时任务:quartz - 日志框架:logback - 工具包:hutool - excel导入导出:easyexcel - 二维码生成:zxing - 自定义密码验证规则:passay - 其他:fastjson,jsch, lombok等。 ### 4.3、前端 - Vue2.6.10 - Vuex - Vue Router - Axios - ElementUI2.13.0 - vue-element-admin(UI框架) - jsencrypt(Rsa加密) - crypto-js(Aes加密、sha256加密、md5加密、base64编码) ## 五、项目结构 ### 5.1、magic4j服务端 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615085361865-2275f5c6-d250-49fa-80d3-73b0dd514001.png#align=left&display=inline&height=608&margin=%5Bobject%20Object%5D&name=image.png&originHeight=608&originWidth=360&size=31186&status=done&style=none&width=360) ### 5.2、magic4j前端 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615085470814-4a5a5953-9bb9-459e-9c9b-42f8b04ac650.png#align=left&display=inline&height=826&margin=%5Bobject%20Object%5D&name=image.png&originHeight=826&originWidth=344&size=36529&status=done&style=none&width=344) ## 六、在线体验 ### 6.1、演示 地址:[http://magic4j.itgacl.com](http://magic4j.itgacl.com/)
演示账号:admin(系统管理员) 密码:123456 ### 6.2、演示效果 #### 6.2.1、用户访问地理位置分布图 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615087824199-f9763556-19a4-4789-93e4-609d08f93caf.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=807898&status=done&style=none&width=1920) #### 6.2.2、用户管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615089558288-ece55e82-39a5-47bd-9da6-c9b00abbbb29.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=138791&status=done&style=none&width=1920) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615089883096-76608aa0-1e56-45c0-b0d2-f1f2da568e6d.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=163034&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615089768280-8e6833eb-e65a-42cd-b10b-b556dceb6d9d.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=143034&status=done&style=none&width=1920) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615089826019-a0b1267e-2097-4179-8299-6981bb46e2ca.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=137401&status=done&style=none&width=960) #### 6.2.3、资源管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615099576937-083a5edf-f61c-469f-af4e-b8fd246c9c04.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=149573&status=done&style=none&width=1920) #### 6.2.4、角色管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615099641705-3d322f38-9cc3-4a06-b500-2355f215960a.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=122570&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615099731097-c47e8986-7da6-42f0-bcd4-f6865377cbe3.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=157278&status=done&style=none&width=1920) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615099786345-60f24436-3259-4d2b-b949-7f650dc64a93.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=146650&status=done&style=none&width=960) #### 6.2.5、菜单管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615099855692-8c048078-b1fb-4d65-9492-67e83d60bc05.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=175809&status=done&style=none&width=1920) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615100022305-6d0551db-af38-4873-a80a-0c2bb3b4a4de.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=183942&status=done&style=none&width=1920) #### 6.2.6、系统配置 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615100211209-9c106945-0c67-4a27-90c0-62012362f37f.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=164321&status=done&style=none&width=1920) #### 6.2.7、数据字典 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615100331198-596f3ec5-9251-412f-9327-7105b6bef0e2.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=177747&status=done&style=none&width=1920) #### 6.2.8、安全设置 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615100425913-3e32b6e4-0da6-45ee-95ba-ddb3ae3a44ea.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=145687&status=done&style=none&width=1920) #### 6.2.9、平台设置 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615100511211-3887a5aa-b548-4a9e-a158-896b1b29081a.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=139970&status=done&style=none&width=960) #### 6.2.10、区域管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615100787134-225d6a7e-cd59-4ff9-9113-04a34196de0e.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=184150&status=done&style=none&width=960) #### 6.2.11、租户信息 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615101205496-f1608335-f3ac-43a3-b0e6-3e2ca9162dbc.png#align=left&display=inline&height=943&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=118529&status=done&style=none&width=1920) #### 6.2.12、租户用户 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615103617495-96920c8c-3146-4ea1-a94f-5e47ee6fbfdb.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=120626&status=done&style=none&width=960) #### 6.2.13、组织机构 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615103654739-83ab317e-3251-49a8-86d3-aa35f1876c79.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=166906&status=done&style=none&width=960) #### 6.2.14、岗位管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104001472-50a8e044-d92c-4bd0-acc6-7430f349b5c6.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=146942&status=done&style=none&width=960) #### 6.2.15、文件管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104192006-0315ac8b-58ab-401c-8727-5497f2815f62.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=203092&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104243741-54c30492-d044-4499-ab35-ab80dc7fe15d.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=194293&status=done&style=none&width=960) #### 6.2.16、登录日志 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104551019-b30b8ba0-4724-492c-941a-6b8afda44874.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=148135&status=done&style=none&width=960) #### 6.2.17、操作日志 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104605131-2056b4e1-51fe-4148-a8f6-edbdcdaec26a.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=144494&status=done&style=none&width=960) #### 6.2.18、任务管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104847581-3b16cf16-871b-43fc-a1e4-e7c78776b1d9.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=133853&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104720693-d771846b-f16b-4781-b274-4126c3cd9fa2.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=159608&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104748955-0bc6f1ee-97d1-4d87-a716-44e3a1e88adc.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=148478&status=done&style=none&width=960) #### 6.2.19、调度日志 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104904899-8c9281f3-2856-4342-a336-7789130436d9.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=114660&status=done&style=none&width=960) #### 6.2.20、接口文档 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615104998648-04965f1c-746c-4ca5-a9b6-5ada4672aee3.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=133573&status=done&style=none&width=960) #### 6.2.21、二维码管理 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615105129760-1da4aa2f-579d-47f3-ab08-e44145690584.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=187038&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615105312362-7ddaaa63-af37-4fef-8fb6-567c53b0fff9.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=162350&status=done&style=none&width=960) #### 6.2.22、百度地图集成案例 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615105506298-ffe7a1d5-8e92-4503-899f-e14daa464bae.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=1116859&status=done&style=none&width=960) ## 七、成功案例 ### 7.1、友友团接龙小程序 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615713220529-c3993772-c2c2-47bc-a41a-228b0a78f399.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=174738&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615713547203-4dd20711-9c4f-4164-a8df-8238bd3954be.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=240290&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615713664478-ad046c57-4a91-4e57-b6ad-5019828637b5.png#align=left&display=inline&height=489&margin=%5Bobject%20Object%5D&name=image.png&originHeight=978&originWidth=489&size=524131&status=done&style=none&width=244.5) ### 7.2、共享雨伞小程序 ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615726037012-fd962d2b-6009-46d2-9395-013dfc45babf.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=246899&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615726237777-a74f8514-5c7a-44fe-a8de-f4b9ce5a925d.png#align=left&display=inline&height=472&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1920&size=1030328&status=done&style=none&width=960) ![image.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615726459606-0cd875bb-34bf-4c32-9e48-8f2b80530e8c.png#align=left&display=inline&height=447&margin=%5Bobject%20Object%5D&name=image.png&originHeight=893&originWidth=502&size=647312&status=done&style=none&width=251) ### 7.3、物联网应用平台 ![2.png](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615727127299-e90e2ad3-7e03-4cd6-9ccc-a7f12cc7f059.png#align=left&display=inline&height=867&margin=%5Bobject%20Object%5D&name=2.png&originHeight=867&originWidth=1920&size=185510&status=done&style=none&width=1920) ![3.jpg](https://cdn.nlark.com/yuque/0/2021/jpeg/12759272/1615727323843-2b747a43-5b02-42ce-be31-702951474fd2.jpeg#align=left&display=inline&height=543&margin=%5Bobject%20Object%5D&name=3.jpg&originHeight=1085&originWidth=601&size=98733&status=done&style=none&width=301) ## 八、二次开发 1、获取服务端项目地址: [https://gitee.com/gacl/magic4j](https://gitee.com/gacl/magic4j)
2、获取前端UI项目地址:[https://gitee.com/gacl/magic4j-ui](https://gitee.com/gacl/magic4j-ui)
3、magic4j技术文档:[https://www.yuque.com/guaocanglang/ckv3h8](https://www.yuque.com/guaocanglang/ckv3h8) ## 九、项目合作 ### 9.1、关于我 本人有9年的软件开发经验,先后担任过技术主管,java高级工程师、技术负责人、java架构师,擅长架构设计,有多年的架构设计经验,现在是担任软件研发总监,擅长分布式JavaWeb应用,物联网应用,微信公众号、微信小程序的应用开发,擅长JavaEE开发中常用的SpringBoot、SpringCloud、Netty、JFinal、motan、shiro、MyBatis、MyBatisPlus、Spring-data-jpa、casandra、mongodb等框架,有基于motan和SpringCloud实现的微服务化的项目实战经验。有基于SpringBoot+Netty的物联网项目开发实战经验。 掌握Vue.js、webpack、node.js、element-ui、vue-element-admin等主流前端技术的使用
技术博客:http://blog.itgacl.com ### 9.2、联系我 如有项目合作,或者使用magic4j的过程中遇到了问题,可以通过以下方式与我联系! ![](https://cdn.nlark.com/yuque/0/2021/png/12759272/1615727799271-97d0f69c-cb98-480d-98be-82b0d8dbf32c.png#align=left&display=inline&height=281&margin=%5Bobject%20Object%5D&name=image.png&originHeight=561&originWidth=364&size=88626&status=done&style=none&width=182) ![](https://cdn.nlark.com/yuque/0/2021/jpeg/12759272/1615084358659-21197c78-4d82-448d-a75d-cfbb8bca81c8.jpeg#align=left&display=inline&height=281&margin=%5Bobject%20Object%5D&name=wxQrCode.jpg&originHeight=896&originWidth=674&size=64048&status=done&style=none&width=211) ## 十、关注我 ![qrcode_for_gh_c20cbc16be76_258.jpg](https://cdn.nlark.com/yuque/0/2021/jpeg/12759272/1615727494353-5bfc009e-c062-47db-8ea3-0a8f19aff864.jpeg#align=left&display=inline&height=258&margin=%5Bobject%20Object%5D&name=qrcode_for_gh_c20cbc16be76_258.jpg&originHeight=258&originWidth=258&size=26792&status=done&style=none&width=258)