本文主要讲解如何一步步搭建自己的系统框架及系统实现,分享下自己的心得。

一、系统展示

1. 登录页面




Java角色权限控制 java基于角色的权限管理_jar包


2. admin登录后的主页


Java角色权限控制 java基于角色的权限管理_jar包_02


3. 菜单管理


Java角色权限控制 java基于角色的权限管理_jar包_03


4. 角色管理>新增角色


Java角色权限控制 java基于角色的权限管理_Java角色权限控制_04


5. 用户管理


Java角色权限控制 java基于角色的权限管理_java用户角色权限管理 只显示姓_05


6. 添加商品


Java角色权限控制 java基于角色的权限管理_Java角色权限控制_06


7. 仓库管理


Java角色权限控制 java基于角色的权限管理_jar包_07


8. 供应商管理


Java角色权限控制 java基于角色的权限管理_Java角色权限控制_08


9. 采购订单管理


Java角色权限控制 java基于角色的权限管理_Java角色权限控制_09


10. 采购订单导出


Java角色权限控制 java基于角色的权限管理_ide_10


11. 库存查看


Java角色权限控制 java基于角色的权限管理_ide_11


12. 采购统计


Java角色权限控制 java基于角色的权限管理_maven_12


二、系统需求分析

上面简单的展示了完成后的系统测试截图,你可以下载war包部署到自己的tomcat上看,下面开始进入正文。

开发一个(简单)系统,我想首要做的就是进行系统需求分析,弄清楚你为什么要做这个系统,这个系统有哪些功能模块,每个功能具体实现些什么功能。

我的主要想法是以开发这套进销存管理系统为例,详细说明一个系统从确认需求、技术选型、架构设计、系统实现到测试部署的整个开发过程。综合运用自己平时所学的知识、技术,及实习获得的经验等,去完整且较好的实现一个系统。搭建一个基础系统框架,形成一定规范,以后在此基础上做开发,可以省去很多诸如搭建框架、加入依赖、配置等工作。

这次开发所做的主要工作及意义如下:

  1. 学会站在用户的角度分析用户需求,完成需求分析设计等。
  2. 熟练使用各种类相关开发、设计工具,及开源软件。
  3. 熟练掌握Spring+SpringMVC+Hibernate+ExtJs的开发技术。
  4. 熟练使用maven构建工具。
  5. 站在企业的角度,试着搭建自己的一个底层基础框架。
  6. 建立完整的燃气管进销存管理系统,进行测试并分析结果。
  7. 将系统部署到互联网上,以实现真正的web应用。

1. 问题分析

首先,对系统进行需求分析,首先需要了解的就是什么是进销存系统,进销存系统也称为供应链管理系统,最基本的内容就是采购、库存、销售、退货管理。进销存系统是对企业生产经营中采购、入库、销售进行跟踪管理,从采购单开始,到商品入库,商品销售出库,每一步都跟踪记录。有效解决企业的分销管理等业务问题。那么燃气管进销存系统有何不同呢,其实进销存系统已经具备了一般商品的进销存功能,燃气管就是一种商品。以此为出发点,开始着手设计系统功能模块。

2. 系统模块结构

系统分为6大模块,分别是基础设置、采购管理、销售管理、库存管理、统计分析、系统管理。系统设置的角色有admin、采购员、销售员、库存管理员等。

系统模块结构(使用xmind设计):


Java角色权限控制 java基于角色的权限管理_ide_13


3. 系统总体流程

系统的一个整体流程,从初次使用开始,系统设置一个超级管理员(admin),拥有系统的所有权限。admin登录系统,设置角色(系统管理员,采购员,销售员,库存管理员),分配对应的权限。然后进入用户管理,录入系统用户。一般管理员登录系统,录入基础数据;采购员需要录入供应商,采购单,退货单;销售员则需录入销售单,退货单。库存管理员就需要在库存管理中进行采购审核和销售审核,采购审核通过则商品入库,增加库存;销售审核通过则商品出库,减少库存。管理员还可以查看每月的采购统计和销售统计。

系统总体流程(使用visio设计):


Java角色权限控制 java基于角色的权限管理_java用户角色权限管理 只显示姓_14


三、开发环境简介

需求确定了,就要进入具体的开发阶段,首先确定开发这个系统综合用到哪些技术、开发工具等。

简单说下这个系统的开发环境:

  • 开发平台:windows 8.1
  • Java版本:jdk 1.8
  • 项目管理工具:Maven
  • 开发工具:Intellij IDEA
  • 数据库:MySql 5.1
  • 服务器:Tomcat 8.5
  • 开发框架:Spring4 + SpringMVC + Hibernate5
  • 前端框架:ExtJs 4.2 + Jsp
  • 建模工具:PowerDesigner、Visio

1. Maven

Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。它提供了中央仓库,能帮我们自动下载构件和第三方的开源类库。你只需要在你的项目中以坐标的方式依赖一个jar包,maven就会自动从中央仓库下载,并同时下载这个jar包所依赖的其他jar包,以及可以下载源码进行阅读。使用maven后每个jar包本身只在本地仓库中保存一份,极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多而造成的混乱。同时maven可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了大量的时间和精力。使用maven,只需要一条简单的命令,就可以自动完成清理、编译、测试、打包、部署的整个过程。我们的项目一般会分为开发环境和生产环境,不同环境对应不同的配置文件,使用maven,你就可以配置两个环境,打包的时候指定运行的环境,就可以将对应的配置文件替换,以此减少手工操作及可能带来的失误操作等。

2. Intellij IDEA

IDEA是java语言开发的集成环境,Intellij被公认为最好的Java开发工具之一。IDEA在代码自动提示、重构、调试、各类版本工具(maven、svn等)整合等方面都是比较强的。本人是在实习期间转用idea开发的,之前一直使用eclipse,相比eclipse,idea在调试、代码自动提示等方面更显优势。项目在idea中有一个更友好的目录结构,尤其是多工程项目。当然,eclipse比idea更容易上手,使用idea可以提高你的开发速度,但前提是你需要记住大量的快捷键。使用idea的调试功能,比如,你只需要按快捷键Alt+F8,然后输入表达式,就可以快速求值;在调试的时候,idea会在变量的后面以不同的颜色显示变量的值,你就可以很清楚的知道调试的每一步,非常方便。使用好IDEA能在很大程度上提高我们的开发速度。

3. ExtJs

ExtJs可以用来开发富客户端的ajax应用,是用javascript写的与后台技术无关的前端ajax框架,主要用于创建前端用户界面,拥有强大的数据处理功能,以及图表统计等。同时,ExtJs拥有很多个性化的主题供你选择,是开发后台管理系统的一个不错的选择。


由于本文篇幅太长,文字较多,所以打算分成三篇来发,因此大家阅读起来可能比较麻烦,请理解

点个关注不迷路!!!