一款企业信息化开发基础平台,能够用于快速构建企业后台管理系统,集成了OA(办公自动化)、SCM(供应链系统)、ERP(企业资源管理系统)、CMS(内容管理系统)、CRM(客户关系管理系统)等企业系统的通用业务功能。Github连接:https://github.com/u014427391/jeeplatform
欢迎下载或者star(收藏)前端
JeePlatform项目是一款以Activiti为工做流引擎,以Spring Framework为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,基于本平台能够实现快速开发,实现企业信息管理的高效、高性能开发。系统追求安全、性能方面的有效实现。项目还在开发中。。。nginx
管理系统登陆页面,采用Shiro登陆验证
git
管理系统主页前端,能够适配移动端页面
github
管理系统主页采用开源前端模板,具备换肤功能
web
管理系统主页,获取用户具备的权限,显示菜单
redis
角色进行受权,只有超级管理员才具备权限
spring
角色进行配置,能够学习一下RBAC(基于角色的权限控制)
数据库
使用JavaEmail插件实现邮件发送,记得须要开启SSl验证
缓存
项目采用CAS登陆登陆实现,单点登陆集群搭建能够参考博客:
http://blog.csdn.net/u014427391/article/details/78653482
项目单点登陆:使用nginx做为负载均衡,使用redis存储tomcat session,来实现集群中tomcat session的共享,使用redis做为cas ticket的仓库,来实现集群中cas ticket的一致性。tomcat
单点登陆集群如图
先从Redis里获取缓存,查询不到,就查询MySQL数据库,而后再保存到Redis缓存里,下次查询时直接调用Redis缓存
package org.muses.jeeplatform.cache; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; /** * AOP实现Redis缓存处理 */ @Component @Aspect public class RedisAspect { private static final Logger LOGGER = LoggerFactory.getLogger(RedisAspect.class); @Autowired @Qualifier("redisCache") private RedisCache redisCache; /** * 拦截全部元注解RedisCache注解的方法 */ @Pointcut("@annotation(org.muses.jeeplatform.annotation.RedisCache)") public void pointcutMethod(){ } /** * 环绕处理,先从Redis里获取缓存,查询不到,就查询MySQL数据库, * 而后再保存到Redis缓存里 * @param joinPoint * @return */ @Around("pointcutMethod()") public Object around(ProceedingJoinPoint joinPoint){ //前置:从Redis里获取缓存 //先获取目标方法参数 long startTime = System.currentTimeMillis(); String applId = null; Object[] args = joinPoint.getArgs(); if (args != null && args.length > 0) { applId = String.valueOf(args[0]); } //获取目标方法所在类 String target = joinPoint.getTarget().toString(); String className = target.split("@")[0]; //获取目标方法的方法名称 String methodName = joinPoint.getSignature().getName(); //redis中key格式: applId:方法名称 String redisKey = applId + ":" + className + "." + methodName; Object obj = redisCache.getDataFromRedis(redisKey); if(obj!=null){ LOGGER.info("**********从Redis中查到了数据**********"); LOGGER.info("Redis的KEY值:"+redisKey); LOGGER.info("REDIS的VALUE值:"+obj.toString()); return obj; } long endTime = System.currentTimeMillis(); LOGGER.info("Redis缓存AOP处理所用时间:"+(endTime-startTime)); LOGGER.info("**********没有从Redis查到数据**********"); try{ obj = joinPoint.proceed(); }catch(Throwable e){ e.printStackTrace(); } LOGGER.info("**********开始从MySQL查询数据**********"); //后置:将数据库查到的数据保存到Redis String code = redisCache.saveDataToRedis(redisKey,obj); if(code.equals("OK")){ LOGGER.info("**********数据成功保存到Redis缓存!!!**********"); LOGGER.info("Redis的KEY值:"+redisKey); LOGGER.info("REDIS的VALUE值:"+obj.toString()); } return obj; } }
能够看到Redis里保存到了缓存
通用接口:SMS(短信)、系统邮件、Excel表导出导入操做...
人事管理:机构管理、部门管理、员工管理
Github连接:https://github.com/u014427391/jeeplatform 欢迎下载或者star(收藏)