基于java SpingBoot框架的企业办公管理系统
企业办公管理系统,可以提供强大的模块化服务,帮助企业进行诸如制定计划、组织活动、上班考勤、领导管理和日志记录等功能,各个部分以模块化进行划分,软件具体可以分为部门管理、角色管理、用户管理、考勤管理、日志管理等部分。
这个系统使用了现在很流行的开发软件和相关技术,使用了目前最流行最方便的JAVA框架——SpringBoot框架,安全的shiro权限管理解决方案、前端使用了Thymeleaf作为模板语言,关系型数据库框架——mybatis,其中的MySQL数据库是中小型数据处理的最优选择方案。
SpringBoot框架是继spingMVC框架之后的有一个非常受欢迎的框架,具有很高的实用性,大大地减少了框架搭建之时的各种配置工作。是目前最优秀的JAVA框架,可以说是当SpringBoot框架出现之后,别的框架就黯然失色。该特性使开发人员能够摆脱复杂的配置工作和依赖的管理工作,更加关注业务逻辑。
项目特点
1.项目基于SpringBoot,简化了大量的配置和Maven依赖。
2.日志记录系统,记录用户的登陆、登出,用户执行的操作,通过@BizLog注解以及Spring中的AOP功能,记录了具体到用户的业务操作、登入登出,并且可以下载excel格式,方便查看。
3.利用Thymeleaf使得前端html代码看起来更加清晰。
4.通过角色管理来配置菜单,达到菜单为不同部门显示的目的,间接实现了权限的管理。
5.创建表后,通过LinGenerater类可生成包括html、js、Dao、Service、Controller等代码,复制进项目可直接使用。
javabean方式的配置文件
Lin中摒弃了传统的xml配置文件,使得配置文件更加清晰、简洁,下列为Shrio配置文件中的片段
@Configuration
public class ShiroConfig {/*** 安全管理器* @param rememberMeManager* @return*/@Beanpublic DefaultWebSecurityManager securityManager(CookieRememberMeManager rememberMeManager){DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();securityManager.setRememberMeManager(rememberMeManager);securityManager.setRealm(this.shiroDbRealm());return securityManager;}@Beanpublic ShiroDbRealm shiroDbRealm(){return new ShiroDbRealm();}
代码生成
项目借助Mybatis Plus代码生成器生成Bean以及Dao,通过Velocity生成Controller、Service、ServiceImpl、html、js文件。在数据库中创建新表后,代码生成文件即可根据此表生成上述文件,实现了基本的表格展示、增删改查功能,可直接复制进项目中直接使用,添加菜单数据到数据库,即可在项目中看到此菜单页面。
public static void main(String[] args) throws IOException {
// 参数为表名LinGenerater lg = new LinGenerater("thing");
// 此方法可以生成代码lg.execute();
// 此方法可以插入菜单数据lg.insertMenu("thing", "测试生成", "globe");}
日志记录
日志记录通过aop(LogAop类)方式对所有包含@BizLog注解的方法进行aop切入,通过@Bizlog注解中的value属性来获取用户所做的操作,封装为日志类,异步存入数据库中(通过
ScheduledThreadPoolExecutor类)。
@Pointcut("@annotation(com.du.lin.annotation.BizLog)")public void logCut() {}
使用Thymeleaf使得html代码更简洁
下面是便签功能实现的部分片段。 后端:
List<Memo> list = service.getUserMemoList();request.setAttribute("memolist", list);
前端html:
<li th:each="memo,memoStat:${memolist}"><div><small th:text="${memo.time}"></small><small th:text="${memo.time}"></small><h4 th:text="${memo.title}"></h4><p th:text="${memo.text}"></p><a th:id="${memo.id}" onclick="deletememodialog(this)"> <i class="fa fa-trash-o "></i></a></div></li>
所用框架
前端
- Bootstrap
- jQuery
- jqGrid
- jstree
- SweetAlert
后端
- SpringBoot
- MyBatis Plus
- Spring
- Thymeleaf
- Ehcache
- Kaptcha
- Shiro
- Velocity
项目演示视频如下
基于SpringBoot框架的企业办公管理系统
基于java SpingBoot框架的企业办公管理系统相关推荐
- 基于Java的简单的企业员工管理系统
基于Java的简单的企业员工管理系统 首先创建了一个员工类 定义员工应有的属性:工号.姓名.性别.职位.年龄.工资.部门 /** 员工属性 */ private int sno;//工号private ...
- 基于java+SpringBoot框架蛋糕销售商城管理系统详细设计
研究背景 随着计算机技术的飞速发展,供应商可以利用计算机技术来完成我们以前手工完成的一些工作,这可以大大提高工作效率,节省更多的人力资源.此外,电脑还可以对相关数据进行统计,帮助卖家根据销售情况制定销 ...
- 基于JAVA+SpringMVC+MYSQL的企业员工管理系统
项目功能: 系统包括用户登录.部门管理.职员管理.奖惩管理.薪资管理.培训管理.招聘管理.报表管理.系统管理等功能 页面效果:
- 基于java+ssm+mysql的企业审批管理系统
系统介绍: 1.用户登录功能,能够进行验证码验证 2.权限管理功能,根据不同权限内容功能也不同,分管理员和员工 3.能够进行日常工作审批功能,其中包括出差管理.请假管理.日常报表管理(增删改查) 4. ...
- JAVA毕业设计机械生产企业办公设备管理系统计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计机械生产企业办公设备管理系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计机械生产企业办公设备管理系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...
- SpringBoot框架的基于java的疫情期间网课管理系统
活动地址:毕业季·进击的技术er 博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 SpringBoot框架的基于java的疫情期间 ...
- 基于JAVA成都某4S店销售管理系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA成都某4S店销售管理系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA成都某4S店销售管理系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 基于JAVA珠宝首饰进销存管理系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA珠宝首饰进销存管理系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA珠宝首饰进销存管理系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- 基于JAVA演唱会门票订售及管理系统计算机毕业设计源码+系统+lw文档+部署(2)
基于JAVA演唱会门票订售及管理系统计算机毕业设计源码+系统+lw文档+部署(2) 基于JAVA演唱会门票订售及管理系统计算机毕业设计源码+系统+lw文档+部署(2) 本源码技术栈: 项目架构:B/S ...
- 基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S ...
最新文章
- window.open打开一个新空白页面,不会自动刷新【解决方案】
- Scala键盘录入代码示例
- EasyUI datagrid : 启用行号、固定列及多级表头后,头部行号位置单元格错位的问题...
- decimal 类型数据怎么引用_Java基本数据类型和引用类型
- myeclipse springboot 运行内存溢出_springboot学习心得 - aowumao
- SpringMVC请求处理流程、springMVC工作流程
- 加强型的记录集权限(数据集权限、约束表达式设置功能)实现方法界面参考...
- linux gpt分区看不到,Linux无法看到我的任何分区 – 备份GPT表不在磁盘的末尾
- fprom预测结果内容_预测模型之机器学习 Machine Learning结果解读篇
- 利用React/anu编写一个弹出层
- remoting的Client如果访问IIS宿主server端要通过Firewall怎么办?
- python下载网易云音乐付费歌曲有哪些_学习python总结 - 下载网易云音乐单首歌曲...
- 01 #pragma once用法总结
- Dropshipping在Facebook广告语怎么写?
- 论文笔记:ALA loss:Adaptive Logit Adjustment Loss for Long-Tailed Visual Recognition
- 解决绿C(C与C++程序设计学习与实验系统 2015)软件程序中文出现乱码问题
- java五个数以升序排列,java4个数的数组排列
- java计算机毕业设计基于安卓Android的城市公交查询app(源码+系统+mysql数据库+Lw文档)
- 面试太卷,我选择背八股。。。
- 只需8步,轻松构建用户画像标签体系