JeeSite 是什么、概述

见JeeSite官网:http://jeesite4.mydoc.io/

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

总体概述

快速访问

  • JeeSite 官网地址:http://jeesite.com
  • JeeSite 在线文档:http://jeesite4.mydoc.io
  • JeeSite 源码下载:https://gitee.com/thinkgem/jeesite4
  • JeeSite 在线提问:https://gitee.com/thinkgem/jeesite4/issues?issue_state_id=all&issue_type_id=all
  • JeeSite 演示地址:http://demo.jeesite.net
  • JeeSite 开源社区:http://www.jeesite.net
  • 官方博客:http://my.oschina.net/thinkgem/blog

底层架构优化

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

    a. 自动生成增删改通用SQL,不需要在mapper.xml里写重复又费时的SQL了,减少开发和后期维护成本。b. 这里所有定义@Column均放到类头,而不是分布到各个属性或方法上,这是如下原因:c. 一是,放到表头的好处是,可一览熟知该实体类对应的物理表结构是什么样,开发者思维从物理表结构到对象的映射转换,都是基于物理表结构的,@Column指定物理字段名,而不是指定类上的属性名,也是这个原因;d. 二是,生成的SQL和查询条件,列的排列顺序,可方便核查定义,优化查询;e. 三是,方便@JoinTable关联表和其它扩展信息的设置,如果分布到类的属性上就不太好管理列。

  7. 用户数据权限优化,不仅仅是角色,颗粒度细化到每个人员的身上,可自定义第三方数据权限,不仅仅是部门和公司,你可以扩展,如:地区,栏目分类,商品分类。

  8. 支持SAAS多租户模式,每个租户数据通过corp_code字段进行分离,数据互不干扰。
  9. 缓存EhCache统一管理,支持快速切换为Redis缓存,集群Session缓存共享。

安全方面优化

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

    a. 登录失败多少次后显示验证码b. 登录失败多少次后锁定账号及锁定账号时间c. 登录账号密码可加密后再提交后台d. 同设备是否允许账号多地登录

  7. 密码策略

    a. 初始密码修改策略,提醒或强制用户修改初始密码。b. 账号密码修改策略,多长时间内未修改,则提醒或强制修改密码。c. 账号密码安全等级限制策略,很弱密码,弱密码,安全密码,很安全密码

  8. 安全审计(后期)

    a. 查询未修改初始密码的账号,使用简单密码的,定期未修改的,长期未登录的。b. 权限审计,按登录账号查询菜单和权限,按菜单和权限查询登录账号

用户界面优化

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

前端开发优化

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

功能及组件优化

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单机单网卡最大tcp长连接数真的是65535吗?

很早微博上一直讨论比较多的问题,这里转载个知乎的答案:单机单网卡最大tcp长连接数真的是65535吗? 作者:许怀远 链接:https://www.zhihu.com/question/66553828/answer/244313925 来源:知乎 著作权归作者…

观察者模式-Observer Pattern

1.主要优点 观察者模式的主要优点如下: (1) 观察者模式可以实现表示层和数据逻辑层的分离,定义了稳定的消息更新传递机制,并抽象了更新接口,使得可以有各种各样不同的表示层充当具体观察者角色。 (2) 观察者模式在观察目标和观察者…

赌还是不赌 你应该辞职去创业吗?

【编者按】本文的作者是Amir Khella,他是一位著名的用户体验设计师,也是创业顾问和企业家。在过去的三年里,他成功的打造了十几家公司,其中不少还被大企所收购,比如说Google收购了他的DocVerse,LimeLight N…

Python 深浅copy 和文件操作

深浅copy 1,先看赋值运算。 l1 [1,2,3,[barry,alex]] l2 l1l1[0] 111 print(l1) # [111, 2, 3, [barry, alex]] print(l2) # [111, 2, 3, [barry, alex]]l1[3][0] wusir print(l1) # [111, 2, 3, [wusir, alex]] print(l2) # [111, 2, 3, [wusir, alex]] 对…

这样安静下去...

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我从来就不想要整个世界,我只想这样安静下去 ... 放肆我所有痴狂的心愿,无怨无悔 ... 纵我一执燃烧后成灰的稻草…

C# 实现生成带二维码的专属微信公众号推广海报

原文:C# 实现生成带二维码的专属微信公众号推广海报很多微信公众号中需要生成推广海报的功能,粉丝获得专属海报后可以分享到朋友圈或发给朋友,为公众号代言邀请好友即可获取奖励的。海报自带渠道二维码,粉丝长按二维码即可关注微信公众号&…

Android应用开发—PendingIntent:如何判断两个PendingIntent对等

摘录自:PendingIntent详解 如何判断两个PendingIntent对等: 两个PendingIntent对等是指它们的operation一样, 且其它们的Intent的action, data, categories, components和flags都一样。但是它们的Intent的Extra可以不一样。 主要常量 FLAG_CANCEL_CUR…

最新研究显示人类智力逐渐下降且变得更愚蠢

请大家去测试智力,看看是否正常水平?真的,智力在下降,在网络、电子设备和化肥、农药,转基因等因素下,人越来越差了。 保存到相册研究人员称现代人类将逐渐智力下降,这是因为我们不再需要智力来维…

缺陷的背后---LIMIT M,N 分页查找

一、问题发现篇 最近组内做了一次典型缺陷分享时,翻阅2018年的缺陷,找到了一个让我觉得“有料”的bug(别的同事测试发现的),先大致简单的描述下这个问题: 需要实现的功能:从一个DB库同步某一段时…

Android应用开发—Intent组件详解

转载自:Android中Intent组件详解 Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件。 Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙述其所期望的服务或动作、与…

angularjs 结构的两种写法(2)

app.js里面 route.js 本项目中的路由写法,路由的意思是:对应的跳转页面路径,比如此处当路由是member.user-statisttic时,是会跳转到url:http://.../user-statisttic.html页面,然后此页面对应的ctrl会解析也页面的参数。…

Linux指令小记(简明实用)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1、ls指令,用于列出当前目录的文件 通过添加-l参数可以使文件以详情模式列出 通过添加-a参数可以将包含隐藏文件在内的全部文件列出。…

python之glob的用法

目录 获取特定扩展名的所有文件 获取特定目录下的所有文件 递归获取所有文件 转义特殊字符 iglob glob 是 Python 中用于文件模式匹配的一个模块。它使用 Unix shell-style 的通配符来进行匹配,并返回所有匹配的文件路径列表。 下面是一些 glob 的基本用法&am…

设置Eclipse中的字符集为UTF-8

Eclipse 修改字符集 默认情况下 Eclipse 字符集为 GBK,但现在很多项目采用的是 UTF-8,这是我们就需要设置我们的 Eclipse 开发环境字符集为 UTF-8, 设置步骤如下: 在菜单栏选择 Window -> Preferences -> General -> Wor…

换位思考的最高境界是换待遇,所以,换位思考就是空话!!!

换位思考的最高境界是换待遇,所以,换位思考就是空话!!! 换位思考是件说难也难,说容易也容易的事情。 如果你肯把你的工资待遇财富地位跟李彦宏互换一下,你就可以轻松理解他到底为什么非要在百度…

一个记录最近搜索历史的LRU实现

对于很多有搜索需求的功能,一般需要展示下最近n次的历史搜索记录,主要有以下几个功能点: 最近搜索条目放在最前面,最早的搜索记录放在最后。只记录最近n条数据,如果超过n条搜索记录,删除搜索时间最久远的记…

Python数据可视化2018:数据可视化库为什么这么多?

本文最初发布于Anaconda开发者博客,经原作者授权由InfoQ中文站翻译并分享。 在奥斯汀举行的SciPy 2018年特别会议上,大量开源Python可视化工具的代表分享了他们对Python数据可视化未来的展望。我们看到了Matplotlib、Plotly、VisPy等许多库的更新。我作为…

Oulipo (KMP出现次数)

The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter e. He was a member of the Oulipo group. A quote from the book: Tout avait Pair normal, mais tout s’affirmait faux. Tout avait Fair normal, d’abord, puis su…

从夫妻吵架中看项目管理

从夫妻吵架中看项目管理(很有意思的文章) 首先要说明:和老婆吵架无论原因如何,无论结果如何你都是错的,老婆永远是对的。但是我不是神仙,偶尔也要吵架。但是如何让吵架也发挥作用,增进夫妻感情&…

SpringMVC工作原理

大家好,我是IT修真院深圳分院第十一期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务二的一个知识点:SpringMVC工作原理 1、背景介绍 一:背景介绍 JavaWeb经历的几个变化: 1:…