# XPBoot **Repository Path**: dongdian1005/XPBoot ## Basic Information - **Project Name**: XPBoot - **Description**: 基于SpringBoot版本升级到2.0的脚手架,一套通用的权限管理系统,结合了一些开源脚手架的优点,根据自己的实际项目应用,扩展了很多实用的功能,完善了很多地方的代码示例,整理在此以便日后拿来即用。有需要改进的地方可在下方留言,QQ交流群:688921858 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2020-09-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XPBoot #### 介绍 基于SpringBoot2.0脚手架,通用权限管理系统,结合了一些开源脚手架的优点,根据自己的实际项目应用,扩展了很多实用的功能,完善了很多地方的代码示例,整理在此以便日后拿来即用。 #### 软件功能 说明:后台权限管理系统,maven项目结构,主要功能包括:定时任务、用户角色权限、组织部门、SQL监控、AOP用户操作日志管理、数据权限过滤(根据个人或部门)、activiti流程引擎(web在线编辑部署,审批节点定位到个人账户或者角色ID,看示例)、双缓存(redis/ehcache有注解使用示例)、spring并发线程池(有注解使用示例)、代码生成(可下载zip,可直接生成到项目目录)、一键打包部署脚本。 #### 软件架构 软件架构说明 1、后端 核心框架:Spring Boot升级到2.X 安全框架:Apache Shiro 持久层框架:MyBatis(plus) 数据库连接池:Alibaba Druid 工作流引擎:Activity web在线编辑 缓存框架:Ehcache/Redis 接口工具:Swagger2 消息通知:websocket html模板引擎:Thymeleaf(也用过FreeMarker,个人感觉Thymeleaf编码方式更接近html,不会有其它语言代码侵入的感觉,看上去比较舒服,也是SpringBoot官方推荐首选) 2、前端 js插件:Vue/jqGrid/bootstrap/layer #### 部署教程 说明:基于内置tomcat方式,优化了打包方式,详情见xp-admin的pom文件,注意脚本里面一些文件路径需要修改。 1. 运行install_run.bat,尽量每次打包之前都执行一次,确保最新的代码安装到仓库 2. 运行xp-admin/build.bat,成功之后生成application目录,结构如下: ![部署目录结构](https://images.gitee.com/uploads/images/2019/0907/203643_00d0aae5_2164976.png "屏幕截图.png") 可参考教程,本人博客园:https://www.cnblogs.com/shenxingping/p/11387616.html #### 使用说明 1. windows运行startBoot.bat, linux运行startBoot.sh 更新记录: 2019.9.9 1、完善流程审批节点对应到角色ID,形成闭环,可在节点配置角色ID可多个,同时支持配置用户账户可多个,任务自动分配到角色用户或者指定用户下。 2、完善ehcache/redis 双缓存可配置,利用CachePut、Cacheable、CacheEvict注解等特性及示例在SysDictServiceImpl,代码非常简洁,参考CCacheManager.java,双缓存指定manager。 3、增加线程池实现,@EnableAsync、@Async注解式申明。 4、完善generator生成代码可选择自动输出到项目目录等。 5、增加redis同步锁。使用注解配置在方法上@RCacheLock,参数参考注解类 6、新增Thymeleaf自定义标签用于数据字典select标签,很方便。 7、增加Vue结合jqGrid数据绑定的通用弹出选择框,因为经常需要某个表绑定其它表数据ID,建立关联关系,干脆写一个基于框架支持的通用组件,支持value和display不同值,点击input框弹出列表数据,纯JS,使用教程参考本人博客园:https://www.cnblogs.com/shenxingping/p/11386880.html 2019.9.23 1、集成websocket实现 QQ交流群 1、688921858 软件截图 ![输入图片说明](https://images.gitee.com/uploads/images/2019/0919/165440_482a7e7d_2164976.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2019/0919/164721_fce4812e_2164976.png "微信截图_20190919163749.png") ![输入图片说明](https://images.gitee.com/uploads/images/2019/0919/164747_da36b30d_2164976.png "微信截图_20190919163807.png") #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)