java服务端脚手架
计算机知识思维导图:java服务端脚手架。网页展示前三层结构,可在线查看完整脑图并下载 GoMind 文件。
2026-08-25
## java服务端脚手架 ### java服务端脚手架 #### 技术选型-后端 ##### iBase4J / iBase4J ##### ThinkGem / JeeSite #### 技术选型-前端 ##### 套件 ##### 组装-ThinkGem / JeeSite #### 参考 ##### spring ##### 前后端分离 #### 过程小记 ##### MyBatis工具 - 请记住mybatis.tk ##### java脚本引擎 ##### 完善框架 #### 集成框架 ##### 自建 ##### web集成 ##### 微服务 / 前后分离 ##### Spring Boot,Spring cloud ##### Spring Boot 相关 ## 会话管理 ### 会话管理 #### 比较 ##### session & cookie ##### token #### 前后端分离:session相关 ##### 前后端分离的管理系统[admin platform] ##### 前后端分离的客户端系统[web,hybrid app] ##### 分离的管理系统前端和客户端混合情况(通用处理) ##### 非浏览器环境 ##### 微信发货小工具 #### 参考 ##### 跨域无法写入cookie ##### 前后端分离:session相关 ##### app服务器端 权限控制 > 仅展示前三层结构;请在线查看完整脑图或下载 GoMind 文件。
java服务端脚手架
java服务端脚手架
● 核心框架:Spring Framework 4.3.0 + Dubbo 2.5.3
● 安全框架:Apache Shiro 1.2
● 任务调度:Spring + Quartz
● 持久层框架:MyBatis 3.4 + MyBatis-Plus 2.0
● 数据库连接池:Alibaba Druid 1.0
● 缓存框架:Redis
● 会话管理:Spring-Session 1.3.0
● 日志管理:SLF4J、Log4j2
● 前端框架:Angular JS + Bootstrap + Jquery
iBase4J / iBase4J
核心框架:Spring Framework 4.1
安全框架:Apache Shiro 1.2
视图框架:Spring MVC 4.1
服务端验证:Hibernate Validator 5.2
布局框架:SiteMesh 2.4
工作流引擎:Activiti 5.21
任务调度:Spring Task 4.1
持久层框架:MyBatis 3.2
数据库连接池:Alibaba Druid 1.0
ThinkGem / JeeSite 项目代码中有Ehcache使用示例
缓存框架:Ehcache 2.6、Redis
日志管理:SLF4J 1.7、Log4j
工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI 3.9
ThinkGem / JeeSite
技术选型-后端
Vue
AngularJS
DataTables
Handlebars
套件
JS框架:jQuery 1.9。
CSS框架:Twitter Bootstrap 2.3.1(稳定是后台,UI方面根据需求自己升级改造吧)。
客户端验证:JQuery Validation Plugin 1.11。
富文本在线编辑:CKEditor
在线文件管理:CKFinder
动态页签:Jerichotab
手机端框架:Jingle
数据表格:jqGrid
对话框:jQuery jBox
下拉选择框:jQuery Select2
树结构控件:jQuery zTree
日期控件: My97DatePicker
组装-ThinkGem / JeeSite
技术选型-前端
abel533 / spring-framework-reference
Spring4.x中文参考文档
spring
一个简单粗暴的前后端分离方案 - 吕大豹 - 博客园
Angular中在前后端分离模式下实现权限控制 - 基于RBAC
Web系统开发构架再思考-前后端的完全分离 - 51CTO.COM
Angular中在前后端分离模式下实现权限控制 - 基于RBAC - 专业成就梦想 - 顽Shi的Blog
Web 前后端分离的意义大吗? - 知乎
前后端分离
参考
pagehelper/Mybatis-PageHelper
使用方法
abel533 / Mybatis_PageHelper
MyBatis分页插件
abel533/Mapper
abel533 / Mapper2
如何使用通用Mapper
如何集成通用Mapper
Mapper3通用接口大全
使用Mapper专用的MyBatis Generator插件
在Spring4中使用通用Mapper(Generator比较)
更多
MyBatis通用Mapper
MyBatis Geneator中文文档
运行MyBatis Generator
MyBatis Generator最佳实践
abel533 / Mybatis_Utils
Mybatis工具
abel533/generator
forked from mybatis/generator
mybatis/generator
mybatis-generator界面工具,让你生成代码更简单更快捷
astarring/mybatis-generator-gui
MyBatis和iBATIS的Generator(代码生成器)
JdbcType 自动配置插件 - 运行时自动添加 jdbcType 属性
SqlHelper - 获取sql
性能拦截器,用于输出每条 SQL 语句及其执行时间
返回值Map结果的Key转为驼峰式
更多
MyBatis工具 - 请记住mybatis.tk
javax.script.ScriptEngine; // java内置
JavaScript、JRuby、Jython、Groovy等
JRuleEngine是一个基于Java的规则引擎
java脚本引擎
1.视图解释器.html .jsp 兼容
2.mybatis SQL实现,分页实现,复合SQL查询
切面封装
3.webService简单实现,返回json
4.前后端分离方案 angular
5.权限控制(shiro)
完善框架
过程小记
Wosai-framework
nine
自建
集成了Mybatis分页插件和通用Mapper的示例项目
abel533/Mybatis-Spring [oracle]
abel533/Mybatis-Spring
Spring Boot集成MyBatis的基础项目
abel533/MyBatis-Spring-Boot
JeeSite 是一个企业信息化开发基础平台,Java EE(J2EE)快速开发框架,使用经典技术组合(Spring、Spring MVC、Apache Shiro、MyBatis、Bootstrap UI),包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。
ThinkGem / JeeSite
renren-security是一个轻量级权限管理系统,其核心设计目标是开发迅速、学习简单、轻量级、易扩展;使用Spring MVC、Shiro、MyBatis、Bootstrap、Vue2.x等框架,包含:管理员管理、角色管理、菜单管理、定时任务、参数管理、代码生成器等。【QQ群:324780204、145799952】
人人开源 / renren-security
Java EE(J2EE)快速开发框架, SSM 架构 spring-wind 实战项目
青苗 / SpringWind
基于SpringMVC、Mybatis、Redis、Freemarker的Shiro管理Demo源码
baichengzhou/SpringMVC-Mybatis-Shiro-redis-0.2
web集成
iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。
JAVA分布式快速开发基础平台:SpringMVC,Mybatis,mybatis-plus,dubbo,Redis缓存, Spring-Session单点登录,shiro权限管理,分布式集群调度,Rest,工具类等等
iBase4J-UI-AngularJS
iBase4J-UI-DataTables
iBase4J-UI-Handlebars
iBase4J-UI
iBase4J / iBase4J
Untitled node
iBase4J/iBase4J 分支idubbo
hsweb 是一个用于快速搭建企业后台管理系统的基础项目
spring-boot
分布式事务
工作流管理
全局restful+json,前后分离
基于aop,注解,精确到按钮的权限控制
websocket支持
dsl查询方式,复杂条件一句生成
特点
3.0版本
hs-web/hsweb-framework
微服务 / 前后分离
Spring Boot集成MyBatis的基础项目
abel533/MyBatis-Spring-Boot
Spring Boot 之 HelloWorld详解
spring boot 实践学习案例
分布式B2C商城 使用Spring Boot
分布式B2C商城 使用Spring Cloud
Spring Boot,Spring cloud
Spring Boot教程与Spring Cloud教程
SPRING INITIALIZR
Spring Boot Reference Guide中文翻译 -《Spring Boot参考指南》
Spring For All社区
把spring-boot项目部署到tomcat容器中
spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动
Spring Boot 部署与服务配置
java -jar target/bookpub-0.0.1-SNAPSHOT.jar
Spring Boot应用的打包和部署
mvn spring-boot:run
SpringBoot的简单应用以及部署
ln -s /var/myapp/myapp.jar /etc/init.d/myapp
service myapp start
Spring boot部署发布到linux
nohup java -jar /home/admin/mp/application/motion-platform-1.0-SNAPSHOT.jar
start.sh
ps -ef|grep java | grep motion-platform |grep -v grep|awk '{print $2}' |xargs kill -9
stop.sh
Spring Boot应用服务部署——使用内嵌的tomcat容器
部署
使用Spring Cloud与Docker实战微服务
使用SpringCloud与Docker实战微服务 - 周立 / spring-cloud-book
Yeoman generator => Spring Boot + Angular
几秒钟内创建Spring Boot + Angular项目
Spring Boot 相关
集成框架
会话管理
会话管理
浏览器自动完成绑定
传统框架支持:shiro
优点
分布式环境同步控制
跨域环境下不可访问cookie(可使用withCredentials解决)
前后端分离架构的跨域问题
缺点
session & cookie
自主管理,灵活
分布式环境支持:DB,Readis
优点
单实例中增加内存维护最近10分钟在线的token,减少数据库访问
分布式中增加Readis,与数据库获取比提高性能。与session比增加分布式能力
优化
自主维护,麻烦
缺点
token
比较
存redis,可提高性能
存数据库,可靠,但每次取库性能下降
因保留session超时机制,保护系统安全性
前后端分离的管理系统[admin platform]
服务器内存受限
重启服务导致session丢失风险
存入redis,可缓解
session不超时
存redis,可提高性能
存数据库,可靠,但每次取库性能下降
自动登录,方便在登录接口中统计活性
session超时
无法使用shiro权限框架,或自编写过滤器
token
客户端应用,有不掉线特性
前后端分离的客户端系统[web,hybrid app]
满足管理系统安全性
客户端系统,增加自动登录(实现不掉线)
同时可使用shiro权限控制框架
使用session机制,保留超时控制
分离的管理系统前端和客户端混合情况(通用处理)
主动携带cookie(与hybrid app一致)
httpURLConnection.getHeaderField("set-cookie");
或使用token机制
原生app
appID +appsecret
应用ID+应用密钥,进行身份验证
使用token机制
外部应用程序
问题:无cookie(即无sessionid),后端shiro依据sessionid作为权限控制基础.故再无法shiro
/api/** = anon
因与shiro同在一个环境中,所以过滤器因取消拦截
因非浏览器环境,无法很好的管理cookie(不是不行)
非浏览器环境
request header里都要放入登录方法返回的JSESSIONID
微信发货小工具
前后端分离:session相关
Angularjs之如何在跨域请求中传输Cookie - CSDN.NET
AngularJS实现cookie跨域 - 李刚的学习专栏 - CSDN.NET
HTTP访问控制(CORS) - mozilla
AngularJS中基于cookie的权限认证【译】
node.js - Angularjs $ http似乎没有理解“Set-Cookie”的响应 - Stack Overflow
withCredentials
关键
跨域无法写入cookie
前后端分离session设计 - 简书
前后端分离:session相关
php - 移动 APP 端与服务器端用户身份认证的安全方案 - SegmentFault
为集群后台考虑
app后端抛弃session利用token来启用自己的会话管理 - 简书
token
利用缓存实现APP端与服务器接口交互的Session控制 - 无心码农 - 博客园
android客户端与服务器端交互 如何保持session - charming的专栏 -CSDN.NET
app 与服务器交互 token - 问题都是可以解决的! - 博客频道 - CSDN.NET
为什么 APP 要用 token 而不用 session 认证? - V2EX
关于APP 与JAVA 服务端的替代SESSION 的 TOKEN方案 !-CSDN论坛-CSDN.NET-中国最大的IT技术社区
cookie,session
app服务器端 权限控制
参考