1:简单
2:开箱即用
3:不是炫技之作,选用了最最最常见的技术架构,减少学习风险,不使用小众的模板语言,小众的ORM,小众的前端框架和小众的代码风格 一切为了快速上手 如果您针对某些模块有必要需求 您只需 换掉该部分即可
4:现代,仅对现代浏览器提供支持,java版本支持1.8 没有技术债务注释 完备的注释 如果真没写 那可能是实在不需要注释的段落了~
5:轻量 没有做maven分模块项目 如果您想分 您分分钟就能搞出来 作为脚手架项目再分太多模块的话可能会对您自己的项目本身造成模块划分的不良影响 这点您自己决定安全,内置大量加解密,认证授权,请求过滤等组件,您按需取用即可,当今网络,可不那么安全
6:系统要求如下:
jdk1.8及以上(1.7的话有一点需要自行适配的 有部分用了1.8的api 本想兼容1.7的还是没把持住~~~)tomcat8.0及以上 8.5.x系列未经测试不保证mysql5.5及以上(如果您要使用mysql的话) (特别注意如果您要使用JTA分布式事务的话选用支持XA特性的数据库)oracle11g及以上(11g 12c测试通过 10g理论上应该也没有问题 未经测试)linux windows x86 32bit 64bit都支持容器要求servlet3.1规范及以上实现
7.新增支持 sqlserver2008及以上版本 win7及以上(中文版本)系统
#morpho的技术选型如下:
##后端技术
核心框架: Spring Framework4.3.12
数据库访问: Mybatis3.4.5 +hibernate5.2.12(可选支持 框架已经集成 但脚手架部分并不依赖 如果您特别不喜欢hibernate可以直接移除)
视图框架: Spring MVC页面视图:
jsp日志组件: log4j2
报表:poi,easypoi,ureport2
缓存:ehcahce redis(非强制依赖 如果您不需要可以移除)
定时任务:quartz spring内置的调度器
权限:shiro 1.4.0 10.
安全:esapi 11.
其他组件: apache commons系列 joda系列 spring系列 druid fastjson jackson springfox guava tk.mybatis.mapper3.4
数据库:支持mysql oracle 默认mysql oracle需要做一点点配置即可
流程:uflo2
规则引擎:urule2
##前端技术
JS框架: jquery
CSS框架: Bootstrap3.X
富文本编辑器: UEditor
树形组件: zTree
日期控件: My97DatePicker
表格组件: bootstrap-table 同时也支持jqgrid和easyui的datagrid 后两者版权问题 不默认使用 根据您的情况自行选择MVVC:vue.js
#本项目的特点:
1.的框架依赖,帮助您学习的技术
2.框架本身精简 不偏向依赖某些技术 您可以自由选择
3.jsp el表达式 jquery这些传统技术,掌握的人多降低学习成本,同时引入了vue.js bootstrap-table等比较流行的插件也保持技术先进性,怎么使用就要看您的意图了
4.hibernate和mybatis同时支持 这应该可以囊括您之前的技术栈了 ORM随心换
5.集成shiro权限控制支持AOP方法级权限控制 并对shiro相关bug作出处理
6.注释完备!~
7.内置一个加解密通信的模块 如果有需要可以直接使用8.完成企业应用的常见功能,在此基础上加速您的开发进度
#已完成的功能
1.用户管理
2.角色管理
3.资源权限管理
4.组织机构管理
5.系统运行监控
6.数据源监控
7.日志管理
8.在线SESSION管理(可以踢人)
9.api管理与测试工具
10.基于easyui的代码生成器(上一代框架使用了easyui,写了一个生成器,不再维护,如果您使用了easyui可以用用,扩展也很简单)
11.工具-用于生成资源权限表的数据根据注解扫描 减轻开发完配置资源权限的工作量
12.定时任务管理
#开始使用
下到本地后运行init sql 默认使用的是mysql5.6及以上版本innodb引擎 如果您需要使用oralce请导入oracle版本基于11g制作内容和mysql版本一样 并且修改配置文件中的url schema dialect配置config.properties放入tomcat运行数据库中内置登录账号账号admin 密码admin 管理员用户账号less 密码admin 最小权限用户
#关于使用sqlserver配置的注意事项 默认使用的是mysql(此部分只对需要使用sqlserver的用户有用)
请手动建库morpho(或者根据您的情况自行决定)运行初始化脚本 前半部分为建表 后半部分为插入数据 运行这个sql脚本在配置文件中配置druid.jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriverdruid.jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=morpho以下两项根据实际情况配置hibernate.default_catalog=hibernate.default_schema=根据实际情况配置hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect或者hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
配置/morpho/src/main/resources/spring/applicationContext-mybatis.xml 中的分页插件dialect为sqlserver或者sqlserver2012 前者适用2005、2008版本后者适用2012版本 ps:建表语句默认使用varchar表示字符串类型没有使用nvarchar所以在非中文版本windows中乱码 请您明知这一点 如果需要nvarchar请自行修改表结构 并且配置hibernate注解类型明确nvarchar 或者继承sqlserver驱动注册string到nvarchar的默认映射 请您考虑并解决
sqlserver用户特别注意:目前的sqlserver脚本在程序中不能直接用 请参考mysql版本或者oracle版本自行建表 quartz的sql脚本请在quartz官方下载并执行 由于没有精力和sqlserver各种版本的环境 以后将不在更新该脚本 欢迎大家贡献已修改好的sqlserver脚本