pap-all-project PAP 管理平台开源项目

我要开发同款
匿名用户2019年06月05日
35阅读
开发技术Java
所属分类Web应用开发、后台管理系统(模板)
授权协议MIT

作品详情

针对参加工作以来遇到的业务问题,搭建一套自认为较独立的业务模块,命名为PAP 快速开发框架。

技术栈:技术栈为SpringBoot2.x配套SpringCloud、Mybatis、Redis、RabbitMQ、Activiti

基础模块:1、PAP-POM      1、定义一个Maven项目,packaging设定为pom,用来约定依赖组件的版本号,保证所有PAP项目,所依赖的外部组件的版本号保持相同,防止不必要的组件间调用异常。            2、由于目前的Maven项目中,parent父节点只能有一个,为了防止sprint-boot项目尝试定义多个parent节点,参照 springboot多个parent解决。      那么业务模块引用 PAP-POM 就可以采取如下方式            

<!--自定义统一依赖版本的基础项目,其他的项目在引用依赖的时候直接继承该项目即可,这样使用的依赖版本就能保持一致性。--><dependencyManagement><dependencies><dependency><!--ImportdependencymanagementfromSpringBoot--><groupId>com.pap</groupId><artifactId>pap-pom</artifactId><version>0.0.1-RELEASES</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

2、 PAP-OBJ  PAP-BASE      1、一些POJO类、通用的BASE基类、Util方法;            2、PAP-BASE 中,含有一些自定义的MybatisGeneratorPlugin,用来方便的进行代码生成操作(PAP-CODE-GENERATOR)。         扩展mybatis-generator-plugin查看         mybatis-genarator自定义插件         mybatis-generator自定义注释         mybatis-generator基类继承         3、 PAP-CODE-GENERATOR      1、此代码生成器分为两部分,一个是基于Mybatis-generator-plugin插件的代码生成器,一个是基于freemarker的代码生成器,需要修改mybatis-generator.properties文件的参数         1.1、修改数据源:classPath   driverClass   connectionURL   userId   password         1.2、修改文件路径:targetProject   targetPackageBase      工作空间所属路径与package路径         1.3、表名:   tableName   domainObjectName   alias   表名、映射的实体类名称、表的别名(防止多张表的同名列)         4、 PAP-CALCULATE      1、JAVA的四则运算计算器,解决Excel的公式,自定义的四则运算公式         java四则运算,并可完成自定义函数表达式功能         JAVA计算器自定义公式解决EXCEL计算公式问题         自定义基础模块:自定义starter   1、 pap-bean-spring-boot-starter      1、分布式主键生成,使用twitter的IDWorker生成器;      2、spring自定义参数解析器,将request.header里面的用户数据进行解析成对象,方便controller使用;         2、pap-logback-operdb-spring-boot-starter      1、自定义操作日志,将用户的操作记录异步持久化数据库中;      2、使用LogbackInterceptor,将数据按需异步持久化,同时扩展Logback默认的4个字段为32个,方便参数处理(源码Gitee);

   3、pap-sequence-starter      1、ERP项目中,会有大量的流水号生成的功能,将此处的功能进行抽离;      2、支持DB(乐观锁)或者Redis(原子性incr)两种方式,按需引入(详见ReadME.md 文件);      业务基础组件:   1、PAP-ACTIVITIY      1、工作流,详见ReadME.md         流程在线可视化定义、初始化任务、认领任务、我的申请、我的代办、批注历史、任务审批、审批拒绝;            2、PAP-RabbitMQ      1、消息中间件,注意此处可以通过消息中间件解决分布式事务最终一致性的问题(AOP+守护进程);      2、事务消息      3、死信队列,邮件发送;         3、PAP-UPLOAD      1、统一文件上传: 注意修改临时上传文件,防止操作系统将临时文件夹清空造成业务中断;              4、PAP-SPRING-BOOT-SPI-DEMO      1、SPI扩展点:SPI解决Saas的定制化服务问题;        5、PAP-SPRING-BOOT-ADMIN      1、软件监控:解决服务可用性监控;

业务组件:1、PAP-GATEWAY、 PAP-UUA、JWT      1、使用spring-cloud-starter-gateway定义网关,同时使用spring-boot-starter-security进行鉴权(使用JWT进行登录用户信息维护);            2、定义PAP-UUA工程,此工程封装JWT操作(登录获取Token、解析Token、刷新Token),gateway网关透传uua项目,不做权限验证;            3、具体的业务子系统需要进行鉴权操作,则通过JWT整合security进行登录用户鉴权处理。 Security认证管理器JWT.      

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论