JeeSite 4.x

Spring Boot 最好的快速开发平台

架构特点、为什么好、我们的优势

1、底层架构

  1. 以 Spring Boot 2 为基础,Maven 多项目依赖,模块分项目,松耦合,方便模块升级、增减模块。
  2. 模块化数据库自动升级程序,当模块升级代码需要更新数据库时,自动执行对应版本 SQL 脚本。
  3. 权限授权模块灵活,支持 CAS 单点登录,简单 yml 配置即可,不用再写很多的 xml 配置。
  4. 支持多数据源,分布式事务,简单 yml 配置即可实现,为了安全性,不提供界面维护数据源。
  5. 数据表主键优化,如分类科目表,采用有意义的主键方式,让客户去自定义,减少后期运维维护成本。
  6. 实体 @Table 注解配置

    • 自动生成增删改 SQL,不需要在 mapper.xml 里写重复又费时的 SQL 了,减少开发和后期维护成本。
    • 这里所有定义 @Column 均放到类头,而不是分布到各个属性或方法上,这是如下原因:
    • 一是,放到表头的好处是,可一览熟知该实体类对应的物理表结构是什么样,开发者思维从物理表结构到对象的映射转换,都是基于物理表结构的,@Column 指定物理字段名,而不是指定类上的属性名,也是这个原因;
    • 二是,生成的 SQL 和查询条件,可定义列的排列顺序,方便核查定义,优化查询,提升性能;
    • 三是,方便 @JoinTable 关联表和其它扩展信息的设置,如果分布到类的属性上就不太好管理列。
  7. 用户数据权限优化,不仅仅是角色,颗粒度细化到每个人员的身上,可自定义第三方数据权限,不仅仅是部门和公司,你可以扩展,如:地区,栏目分类,商品分类。
  8. 支持 SAAS 多租户模式,每个租户数据通过 corp_code 字段进行分离,数据互不干扰。
  9. 缓存监控,J2Cache 二级缓存,支持快速切换为 Redis 缓存,集群 Session 缓存共享。
  10. 服务器监控功能,查看 CPU,内存,JVM,磁盘信息等。方便运维人员分析系统负载情况。
  11. Spring Cloud 分布式系统,微服务支持,最小化内核,统一配置中心,统一授权认证中心。

2、安全方面

  1. 原有 JeeSite 1.2 安全选项及安全考虑保留。
  2. 支持数据库密码及其它安全密钥自动加密配置。
  3. 所有请求参数获取,均通过 XSS 跨站脚本过滤方法。
  4. 乐观锁简单实现,必要情况下使用,提高数据安全性。
  5. 通过 yml 简单配置,轻松解决 JS 是否允许跨域操作。
  6. 身份认证:

    • 登录失败多少次后显示验证码。
    • 登录失败多少次后锁定账号及锁定账号时间。
    • 登录账号密码可加密后再提交后台。
    • 同设备是否允许账号多地登录。
  7. 密码策略:

    • 初始密码修改策略,提醒或强制用户修改初始密码。
    • 账号密码修改策略,多长时间内未修改,则提醒或强制修改密码。
    • 账号密码安全等级限制策略,很弱密码,弱密码,安全密码,很安全密码
  8. 权限审计:

    • 菜单权限都有哪些用户拥有查询。
    • 哪些用户拥有哪些菜单查询。
    • 敏感菜单设置及提醒设置。

3、用户界面

  1. 基于 Bootstrap 3 平面化界面设计,精细,更加美观、高端、大气、上档次。
  2. 支持手机或平板访问,响应式样式、响应式布局,根据屏幕分辨率自适应控件布局。
  3. 无刷新设计,除了进入功能页面和新页面,其它情况下全部采用 Ajax 交互,优化体验和性能。
  4. 支持一键换肤,只需在 yml 里修改下主题名称即可快速切换整个UI的风格,不仅仅是色调和样式,布局也可改变。支持自定义扩展项目独有的主题样式风格。
  5. 优化用户功能操作,大众思维模式,功能清晰,更加贴切和友好。
  6. 国际化的支持,轻松实现动态数据的信息国际化。

4、前端开发

  1. 采用当前比较流行的 Beetl 模板引擎,它的优点很多,大家可自行查阅看看,这里不多说了。
  2. 封装 Beetl UI 通用组件,简单实现基本表单控件、树选择,列表选择,文件上传,等等,总之是简化开发。
  3. 数据表格 jqGrid 组件封装,自动完成分页、排序、列宽、多表头、子表、编辑表、等。
  4. 支持前后分离应用,方便与手机 API 接口对接,Token 方式授权。

5、功能及组件

  1. 工具类 Utils 封装优化,应有尽有,包分类层次分明,独立工具类项目。
  2. 强大的 Excel 导出导入工具封装,支持大数据量,注解定义,简单配置即可实现。
  3. Job 作业调度,界面化在线管理,可新增,编辑、删除、暂停、恢复、运行一次等操作,支持独立数据源,分布式作业调度,调度日志监控分析查询。
  4. 代码生成工具操作简化及优化,支持多数据源。
  5. 在线查询在线人员,强踢在线账号。

6、我们的优势

  • 整体架构清晰、稳定技术先进、源代码书写规范、经典技术会的人多、易于维护、易于扩展、安全稳定。