• 125614

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

jeecg-boot-2.0.0 心得

服了这份高薪指南,涨多少你说了算>>

jeecg-boot-2.0.0 心得

  在公司参与基础平台微服务建设,不断的进行平台产品化方向。上级讨论定下来需要用到微服务框架,平台至少要用到注册中心+配置中心+网关+认证+后台管理+前端vue至少5+1。针对大项目,强大的运维团队支持应该是可以承受,但是哪里天天会有大项目呢?公司几乎都是中小项目,所以在寻找一个轻量级的boot版本,针对小项目,敏捷开发,快速上线部署。在网上寻找到了JEECG,想和原先前后端分离,发现居然有JEECG-BOOT前后端分离版本,让我有了新的研究和学习的方向。   在jeecg-boot采用前后端分离后,在线开发功能实现,以及加入流程引擎和动态表单加强对业务整合。希望下后面接来的版本中不断产品化,集成auth2平台化,cas单点登录企业级别使用。不断高可用的框架代码。   学习JEECG-BOOT(http://jeecg-boot.mydoc.io/)技术文档,非常的详细。不过在使用它的过程只有也出现一下问题,在此提出本人的建议。

  1. 进行模块化、组件化开发,将原先开源版本system里面板块尽量剥离处理,保留简洁版的后台管理功能。
├─jeecg-boot-parent(父POM: 项目依赖、modules组织)
│  ├─jeecg-boot-base-common(共通Common模块: 底层工具类、注解、接口)
│  │  ├─jeecg-boot-base-common-bom 公共版本控制
│  │  ├─jeecg-boot-base-common-core 公共工具类核心包
│  │  ├─jeecg-boot-base-common-log 日志服务
│  │  ├─jeecg-boot-base-common-swagger 接口文档
│  │  ├─jeecg-boot-base-common-security 安全工具
│  ├─jeecg-boot-module-system (系统管理模块: 系统管理、权限等功能) -- 默认作为启动项目
│  ├─jeecg-boot-module (扩展新模块项目,启动的时候,在system里面引用即可)
│  │  ├─jeecg-boot-module-demo   测试样例
│  │  ├─jeecg-boot-module-monitor 监控管理
│  │  ├─jeecg-boot-module-quartz 定时任务
│  │  ├─jeecg-boot-module-online 在线开发
│  │  ├─jeecg-boot-module-bpm 流程引擎
│  │  ├─jeecg-boot-module-form 表单引擎

为了进一步根据开发调用,采用模板对外接口公共api模块,POM如下:

│  ├─jeecg-boot-module-system 
│  │  ├─jeecg-boot-module-system-api 系统管理对外接口公共api模块
│  │  ├─jeecg-boot-module-system 系统管理
  1. 数据库表结构上面建议
  • 统一优化使用数据库版本,mysql5.7必须5.7+以上,mysql5.7上有json类型,且建议使用utf8mb4字符集,以免特殊字符丢失到时数据无法查看;

  • 字段命名问题,如es_type建议改成type,其他类似;create_by建议改成create_user,加入del_flag,调整create_time (调整CURRENT_TIMESTAMP),其他类似排查,统一规范。

  • 建议邮件、短信设计分离,因为邮件支持富文本;

  • int长度建议为9;类型、状态相关字段建议使用tinint。

3.代码调整 在实体类entity中,加入 import lombok.Data; 引入@Data,去除代码中大量的get和set import com.baomidou.mybatisplus.annotation.TableLogic; 引入@TableLogic,进行默认delFlag

4.插件升级 插件升级以及properties属性进行版本管理为何 springboot升级2.1.5.RELEASE mybatis-plus升级3.1.1 hutool加入4.4.5

 <properties>
        <jeecgboot.common.version>2.0.0</jeecgboot.common.version>
        <java.version>1.8</java.version>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mybatis-plus.version>3.1.1</mybatis-plus.version>
        <druid.version>1.1.10</druid.version>
        <commons.version>2.6</commons.version>
        <hutool.version>4.4.5</hutool.version>
    </properties>
<dependencies>
        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <!--hutool-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>${hutool.version}</version>
        </dependency>
</dependencies>
  1. 接口返回对象类调整
Builder
ToString
Accessors(chain = true)
AllArgsConstructor
@ApiModel(value = "接口返回对象", description = "接口返回对象")
public class Result<T> implements Serializable {
    ...

    public Result(T data) {
        super();
        this.result = data;
    }
    ...
}
  1. 开发规范性建议
  • 代码中大量重复造轮子代码
  • 注释说明规范性不同意
  • 建议采用阿里巴巴规范插件开发
  • 代码充出现大量神秘代码“0”,“1”,统一采用常量进行管理
  • 采用缓存机制
  • 加入现流行的auth2,可进行第三方接入
  • 加入企业级cas单点登录,提高企业级多系统之间的跳转

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

1条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客