2024年6月21日发(作者:)
-
74
-
科学技术创新2020.24
基于SpringBoot+SSM框架的进销存管理系统设
计与实现
DesignandImplementationofFurnitureInventoryManagement
SystemBasedonSpringBoot+SSMFramework
葛萌王颖
(咸阳师范学院计算机学院,陕西咸阳712000)
摘要:针对某家具企业在进销存业务方面的实际需求,采用SpringBoot设计并实现了一个基于SSM框架的进销存管理系
按照
JavaEE分层模型统。研究了SpringBoot开发方式的优势和SSM框架的执行过程,详细阐述了系统开发中的部分核心功能
,
这种整合架
构能够提高JavaEE系统的开发效率和可维护性。给出了系统的具体实现过程。通过实践表明
,
关键词:进销存系统
;
SpringBoot;SSM框架
Abstract:Aimingattheactualdemandofafurnitureenterpriseinpurchasing,sellingandstoringbusiness,UsingSpringBoot
todiestheadvantagesofSpringBook
developmentmodeandtheexecutionprocessofSSMframework,elaboratesonsomecorefunctionsinsystemdevelopment,gives
coceshowsthatthisintegrationarchitecture
canimprovethedevelopmentefficiencyandmaintainabilityofJavaEEsystem.
Keywords:Inventorymanagementsystem;SpringBoot;SSMFramework
中图分类号:TP311.52文献标识码:A文章编号:2096-4390(2020)24-0074-04
某家具企业随着经营规模的扩大,
目前利用
Excel进行进
希望借助
Web技术利销存方面的数据管理已经显得力不存心
,
提高企业的运行效率
[1]
。同用网络处理进销存方面的数据管理
,
时希望项目能够快速上线并且后期由企业专人进行维护升级
。
考虑系统的开发效率和可维
本文针对该企业的实际需求,
采用
SpringBoot进行系统开发,
利用
SSM框架进行分层构护性,
层与层之间解耦合。
建,框架各司其职负责处理某一层的业务
,
避免了传统Web开发中存在的表示层数据与后台Java代码耦
合、开发效率低、难于维护等问题
。
1主要技术
1.1SpringBoot
SpringBoot通过自动装配功能和“约定大于配置”的开发
理念能够极大的提高JavaEE项目的开发效率
[2]
,主要表现在以
下方面
:
(
2)(1)无需定义XML配置文件
。
将所有资源打成一个jar
(
3)包,创建独立应用的Spring项目
。
利用各种starter启动器来
(
4)简化Maven的配置,减少对依赖资源的配置
。
提供生产就绪
型功能,如指标,健康检查和外部配置。(5)提供更多的应用开
(
6)发模块及功能。内嵌Web服务器,项目的发布无需再提供
war包。(7)大量使用注解进行开发。
1.2SSM框架
是标
SSM框架是Spring+SpringMVC+Mybatis的整合
,
模型对象、分
准的MVC模式。其中SpringMVC分离了控制器、
[3]
使其更容易进行定制
。Spring派器以及处理程序对象的角色
,
(
IoC)
(
AOP)是一个轻量级的控制反转和面向切面的容器框架
,
供表现层调用,充当了表现层与持久层间的接口
[4]
。Mybatis主要
支持普通
SQL查询、负责数据的持久化操作,存储过程和高级
映射,通过对象关系映射将Java对象与数据库中的数据记录相
互转换,通过开源框架配置文件中的引用与项目中的依赖包的
导入,即可将三个框架整合起来实现完整的前后端通信流程
[5]
,
DispatchrServlet
Dispatch
e
erServlet
ServletMapping
ServletMapping
V
V
Web层
Web层
显示控制层
显示控制层
SpringMVC
SpringMVC
开开启注启注解模式解模式
配置静态资源
配置静态资源
配置视图解器
配置视图解
析
析器
Controller,java
Controller,java
Service扫描配置
Service
包
包扫描配置
C
C
Service
Service
层
层
业务逻辑层
业务逻辑层
Spring
Spring
配置事务管理器,声明事务
配置事务管理器,声明事务
Bean:注入数据库连接池
Bean:注入数据库连接池
事务配置
事务配置
DataSourceTransactionManager
rDataSourceTransactionManage
在ServiceImpl方法上添加
在ServiceImpl
类
类方法上添加
@Tra@Transactionalnsactional
ServiceImpl
Service接口
加载ties
加载ties
M
M
Dao层
Dao层
数据访问层
数据访问层
Mybatis
Mybatis
连接池
连接池
bean
bean
获取文件属性,设置自身属性
获取
jdbc
jdbc文件属性,设置自身属性
加载连接池
加载连接池
加载实体
加载实体
加载映射文件
l加载映射文件
bean
bean
加载接口
加载接口
对应
Dao接口
Entity
代替实现类,实现代码与SQL的分离
代替实现类,实现代码与SQL的分离
DB
DB
作用于映射
图1SSM架构图
发展规划项目(
SGH16H189)
(
XSYK19021)基金项目
:
陕西省教育科学“十三五
”
咸阳师范学院专项科研计划项目。
(
1980-)
研究方向为软件工程、
作者简介:葛萌,女,陕西咸阳人,讲师,硕士
,
JavaEE应用。
2020.24科学技术创新
整合架构如图1所示
。
SSM框架中各配置文件的主要内容如下
:
在中使用注解模式,扫描所有包中的注解,
进
根据用户请求,进图控制器找到相应的RequestMapping方法
,
配置视图解析器。
行逻辑处理;配置静态资源
;
加载
在中配置数据源,连接数据库
;
mybatis中的xml文件
,
xml文件在dao层中,每个实体类对应一
个文件对数据库进行操作;配置Spring事务管理
设置
spring容器加载配置文器。在中加载spring容器,
加载
springMVC的配置;件的路径
;
配置防止Spring内存溢出监
听器;配置编码问题
。
1.3Redis
由于系统是Web架构,存在多个销售员和进货员同时对系
使用
Redis内存统进行操作的场景。为了提高系统的响应速度
,
数据库来满足高并发的要求。在
需要对某一商品入库或出库
时,查询到该商品的库存量放入到Redis中,在用户请求对该商
品出库时,需要先在Redis中查询库存量是否大于0,若满足,服
务器才能对该请求响应,否则直接响应“当前库存为0”。每一个
员工相当于一个线程,在系统中将系统响应逻辑放入同步块
中,完成高并发的出入库操作。
2系统分析与设计
2.1系统功能模块设计
根据系统需求分析,系统的总体功能模块如图2所示
。
-
75
-
管理员可对部分核心数据保存到Excel文件,提高安全性。
2.2数据库设计
各实
根据需求分析创建系统需要的相应实体类及其属性,
体类创建相应数据库表存储数据
。创建的表名称分别为
jxc_goods、jxc_manager、jxc_message、jxc_stockin及jxc_stockout。
员工信息表中的字段:id(员工编号)为主键自增
、
username(用
户名)、password(用户密码)使用encode函数进行加密及
decode函数进行解密、role(角色)分为管理员、进货员、售货员,
商品信息表中的字段:
用来控制进入系统的不同界面。id(商品
ID)为主键,是出入库表中的外键
。入库信息表中的字段:
id(入
库编号ID)为主键自增
、
operator(操作员)为当前登录系统的
员工名称
、
time(入库时间)实在提交入库信息时获取的本地时
间(日期)。出库信息表中的字段:id(出库编号ID)为主键自增
、
operator(操作员)为当前登录系统的员工名称
、
time(出库时间)
实在提交出库信息时获取的本地时间(日期)。站内信表中的字
段:message_id(信息编号ID)为主键自增、sender(发送者)为
当前登录系统的员工名称、time(发送时间)是在提交信息时获
取的本地时间。
本系统中manager表对应各员工信息,
每个员工根据角色
不同可进行出入库操作,也可对其他员工发送信息
。出入库的
商品信息需预先存储在goods表中,可由多个员工进行多次出
入库。各表间关系如图3所示
。
PK
message
message_id
sender
receiver
content
time
manager
n:n
PKid
username
password
role
1:n
stockin
PKid
goodsid
goodsname
price
number
remarks
operator
time
PK
1:n
stockout
id
goodsid
goodsname
selling
number
remarks
operator
time
图2系统功能模块图
初始密码及角色
(1)员工管理:管理员用来创建员工账号
、
基本
等信息,可对其进行查询和删除操作。
员工自身可对密码、
(
2)
查
信息等进行修改
。
商品管理:管理员可以对商品进行添加
、
名称、
询、修改及删除操作。也可以对商品按类别
、
ID等进行快
(
3)
对
速查
。
入库管理:管理员或进货员输入要入库的商品号
,
(
若未找到该商品,其进行入库操作则需先增加该商品
)
,也可
以查看所有的入库信息和修改某一入库信息。(4)出库管理:管
对其进行出库操作
理员或售货员输入要入库的商品号
,
(没有
入库的商品不能进行出库操作),以及查看所有的出库信息或
(
5)修改某一出库信息
。
提醒信息管理:用户可查看自己已发送
、
回复提醒信息。(
6)已接收的提醒信息,也可以给其他人发送
、
智
能推荐:管理员可查看某时间段内推荐或不推荐的前十商品
,
(
7)推荐依据为该时间段内商品的销售数量
。
报表:管理员可按
主要展示时间段内某一厂家
时间、工厂查看相应的商品报表
,
商品的营业额及利润,并将结果以图表形式展示。(8)数据备份:
1:n
goods
PKid
name
goodstype
supplier
suppliercontact
suppliertel
photoSrc
1:n
图3数据库表关系图
3关键功能设计
3.1过滤未登录用户
除登录页面外不允许有其他页面或后台路径进入到本系
在
统中。用户通过正常登录操作将登录信息保存到session中,
回复信息等
)进行其他操作(如入库、出库
、
都需要从session中
如果在
session中没有发现登录用户信获取当前登录用户信息
。
息表明该操作没有通过登录,需要将请求重定向到登录页面;
-
76
-
科学技术创新2020.24
于企业上一周期生产经营活动的评估以及未来企业战略规划
会产生同样重要的影响
[6]
。报表是该系统中最重要的一个模块
,
主要依据数据库中一张入库表及一张出库表
。表中分别记录商
报表就是根据这两张
品的出入库价格、数量、时间及操作人员
,
利润等其他信息。
表中的数据进行计算,从而得到销售额
、
时间报表是通过拿到页面
报表分为时间报表及厂家报表
,
查找指定时间范围内所
中管理员输入的开始时间及结束时间
,
有商品的进货数、售货数、进货金额、售货金额、退货数、返厂数
拿到需要显示在页
及利润并按照利润降序,显示在前端页面,
面中的数据选取几条重要的数据如销售金额
、利润等,使用
在
sql语句中首先连接echart技术将重要信息显示在柱状图中。
入库及商品表查询商品信息及该商品在指定时间内的总进价
及总进货数、连接出库及商品表查询商品信息及该商品在指定
时间内的总售价及总售货数,将查询到的两个结果集进行左连
接,在得到的结果集中通过不同字段间的计算得到该行商品对
应的利润、库存等信息。在连接时如果某结果集无结果则对应
字段显示为空,若为数字类型则显示为0,得到最终的结果集按
利润降序排序;厂家报表是查找本店在所有厂家中购入的商品
按利润降序,显示柱状图
数量、商品类型、总进价、利润等数据
,
方式与时间报表相同
。时间报表的
sql语句如下
:
rc,d,ame,
ype,rice,nNumber,
IFNULL(elling,0)totalselling,
IFNULL(utNumber,0)totalOutNumber,
(IFNULL(elling,0)-rice)profit,
(nNumber-IFNULL(utNumber,0))inventory
FROM
(rc,d,ame,
ype,SUM(price*number)totalprice,
SUM(number)totalInNumber
FROMstockinsi,goodsg
d=TWEEN#{startTime}
AND#{endTime}GROUPBYgoodsid
)ALEFTJOIN
(d,ame,
ype,SUM(selling*number)totalselling,
SUM(number)totalOutNumber
FROMstockoutsout,goodsg
d=TWEEN#
{startTime}AND#{endTime}GROUPBYgoodsid
)d=d
ORDERBYprofitDESC
4系统实现
4.1视图层实现
并结合多个
JS及CSS文件对系统前端采用JSP视图技术,
页面进行布局,完成折叠面板及时间选择控件的显示
。使用
EL
表达式显示Controller放入到Model中的数据。对于页面中需显
使
示的静态资源,在该页面发送请求时不拦截静态资源路径
,
用${tPath}获取上下文环境访问静态资
源,也可在中配置静态资源
,
js文件的配置如下
:
链接js及css文件代码如下:
(转下页)
主要包括
否则才执行当前的请求。利用过滤器实现上述要求
,
定义过滤器实现doFilter方法和配置过滤器两个步骤
。自定义
过滤器类继承Filter类,实现其doFilter方法,核心代码如下
:
publicvoiddoFilter(ServletRequestrequest,ServletResponse
response,FilterChainchain)throwsIOException,
ServletException{
HttpServletRequestreq=
(HttpServletRequest)request;
HttpServletResponseres=
(HttpServletResponse)response;
HttpSessionsession=sion();
//从session中取得用户
Stringusername
=(String)ribute("name");
//取得请求访问的地址
Stringurl=uestURI();
//判断从session中取得用户是否为空
if(username==null){
//判断获取的路径不为空且不是访问登录页面或执行登录操作
时跳转
if(url!=null&&!("")&&(f("Login")<0
&&f("login")<0)){
direct(textPath()+"/login");
return;
}
}
er(request,response);
return;
}
通过编码方式来配置过滤器。定义WebConfig类,
添加
Configuration注解,将自定义的过滤器配置到
FilterRegistrationBean中
,
SpringBoot在启动时会创建
如下代码所示。
FilterRegistrationBean对象从而使过滤器生效
,
@Configuration
publicclassWebConfig
{
@Bean
publicFilterRegistrationBeangetSessionFilter()
{
FilterRegistrationBeanbean=newFilterRegistrationBean
();
ter(newSessionFilter());//设置过滤器
e("MyFilter");
Collection
ArrayList
("/*");
Patterns(urlPatternCollections);
returnbean;
}
}
3.2报表
财务报表分析不仅对于企业财务管理活动有重要意义,对
2020.24科学技术创新
-
77
-
城市轨道交通中5G通信技术的运用
李想
(西安市城市照明管护中心,陕西西安710000)
摘要:近几年,随着城市发展的不断加快,5G通信技术已经遍布在人们衣食住行的方方面面,尤其在城市轨道交通方面应
减少环境污染、提
高城市居民的出行舒适度
。因此,
用的非常广泛。城市轨道交通的良好发展可以缓解城市交通压力
,
5G通信技术
在城市轨道交通中的应用带来了巨大的社会效益及经济效益
。
技术运用
关键词:城市轨道交通
;
5G通信技术;
中图分类号:U285.21,TN929.5文献标识码:A文章编号:2096-4390(2020)24-0077-02
随着社会经济的快速发展,5G通信技术在人们的生活、工
作中得到了广泛的应用,5G技术在城市轨道交通上的应用也越
来越全面,从而使人们可以获得更多优质的服务,足不出户就
可以了解出行信息。所以,为了保证我国城市轨道交通行业的
必须要应用
5G通信技术,快速、稳定发展,更好的保障城市轨
下面主要针对
5G通信技术的概述
、
道交通的安全性及稳定性。
组成、存在的问题及在轨道交通中的具体应用进行分析
。
1城市轨道交通中5G通信技术的相关概述
(
5thgeneration1.15G是什么
。
5G是第五代移动通信技术
mobilenetworks)的简称,
也可以称为
5G技术,也是继4G
(LTE-A、WiMax)、3G(UMTS、LTE)和2G(GSM)系统之后的延
伸,是最新一代蜂窝移动通信技术
。
5G技术的系统效率非常高
,
它的发展速度非常
这得益于各种集成技术及现金的信息技术
,
快,为移动通讯用户间的传输速率奠定了良好的基础。相较于
4G通讯技术,5G技术增加了信息资源的有效处理,使产能降
低,不但迎合了移动通信市场的需求,而且发展了新科技革命。
随着我国通信技术的快速发展,5G技术已经逐步在城市轨道交
通中应用开来。其设备除了之前我们所熟知的手机和平板电脑
应用
等,也逐渐开始在许多方便携带的电子设备上应用起来
,
民生、医疗等,用户体验速率
领域越来越广泛,涉及交通、金融
、
比4G快了近一百倍
。
5G技术的快速发展标志着我国通信技术
水平的又一次提升
。
1.25G通信技术的背景及发展。二
十世纪末自
1G技术问
世,到现在的二十多年期间,通信技术经历了从1G到5G的快
速发展,5G通信技术是从去年开始面向市场的,5G的问世给通
是当前最新、最快的通信
(转下页
)
信行业带来了不小的轰动,
/js/"> 4.2控制层实现 在中使用注解模式,扫描所有包中的注解 。 编写及文件, 使用 可通过注解找到请求对 @Controller注解。前台页面发来的请求 , 应的控制器中的使用@RequestMapping注解的某一方法 ,在该 通过 方法中接收前台页面传递的参数并对请求进行逻辑处理 , 删、改、查等操作,方法的返 调用业务逻辑层实现对数据的增 、 回类型为String,返回页面名称。通过中配置的 视图解析器返回到该路径下的相应页面。注解模式使编程更加 简洁,代码更加清晰 。 4.3业务逻辑层实现 通过实现接口方 业务逻辑层中包含每一个实体类的接口 , 法完成每个实体类的逻辑处理 ,例如系统中商品实体需完成 应在业务逻辑层 GoodsService.增、删、改、查及快速查询操作, java接口中定义操作方法 ,在 中实现 接口中的方法,在方法中调用数据持久层并编 写处理逻辑代码完成页面的请求。 4.4数据持久层 使用MyBatis连接数据库存储及变更数据 。在 中配置数据源连接数据库 。每一实体类需 要对应的文件,本系统中包含七个实体类的七个映 可直接对 射文件,在映射文件中完成不同操作的sql语句编写, 数据库进行操作 。在 中配置 sqlSessionfactory自动扫描加载dao层中文件。从而 将页面传来的请求数据通过控制器、业务逻辑层处理后在该层 对数据库操作,达到本次请求的目的。 5结论 利用SpringBoot+SSM框架设计并实现了一个中小型企业 业 的家具进销存管理系统 ,使用 SSM框架完成该系统控制层 、 务逻辑层和持久层的功能,并达到松散耦合的目的。 系统完成 了相关的业务功能,达到了企业实际应用的要求 。通过实践表 明,本文所使用的整合架构能够提高JavaEE系统的开发效率 和可维护性。 参考文献 [1]徐枫.浅析企业进销存管理网站的设计[J].中外企业家 , 2013,12(21):268. [2]李华.基于Springboot的高职院校实践教学管理系统的实现 [J].绵阳师范学院学报 , 2016,35(11):70-74. 欧阳宏基 .基于SpringMVC框架的JavaWeb[3]葛萌,黄素萍 , 应用[J].计算机与现代化 , 2018(8):97-101. 赵炯,等 .基于Redis与SSM的大型设备数据[4]熊肖磊,王春伟 , 运用系统设计[J].现代机械,2018,24(6):29-34. [5]郑逸凡.基于SSM框架的在线教学系统的设计[J].长沙大学学 报,2019,33(2):41-44. [6]刘碧波.新时代下企业财务管理中财务报表分析的重要性研 究[J].财会学习 , 2019,6(11):29-30.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718954378a2753833.html
评论列表(0条)