收藏 分销(赏)

基于Spring Boot的信息化项目管理系统的设计与实现.pdf

上传人:自信****多点 文档编号:2120283 上传时间:2024-05-16 格式:PDF 页数:4 大小:1.25MB
下载 相关 举报
基于Spring Boot的信息化项目管理系统的设计与实现.pdf_第1页
第1页 / 共4页
基于Spring Boot的信息化项目管理系统的设计与实现.pdf_第2页
第2页 / 共4页
基于Spring Boot的信息化项目管理系统的设计与实现.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 2023 年第 11 期113计算机应用信息技术与信息化基于 S p r i n g B o o t 的信息化项目管理系统的设计与实现王文静1 国育家1 贾康铖2WANG Wenjing GUO Yujia JIA Kangcheng 摘要 随着通信、IT 等信息化技术的不断发展,以 5G、云计算、大数据为重点的信息化项目在公司各类业务中的占比越来越大。为解决传统管理方式中的数据共享性差、进度不清晰等问题,设计与实现了基于Spring Boot 的信息化项目管理系统。系统采用 Mybaits 作为持久层框架,Spring Security 作为用户身份与权限验证框架,模板引擎 Thymele

2、af 用于页面数据渲染。系统实现了商机管理、项目管理、数据共享等功能,提高了从业人员的工作效率与支撑服务质量。关键词 Spring Boot;Thymeleaf;Spring Security;项目管理 doi:10.3969/j.issn.1672-9528.2023.11.0261.中国移动通信集团山东有限公司 山东济南 250001 2.中国移动通信集团山东有限公司青岛分公司 山东青岛 2660710 引言随着 5G、大数据等重点创新业务规模的不断增长,传统的项目管理模式中存在的问题日益凸显,主要体现在以下三个方面1:(1)由于项目多,支撑人员分散,当产生新的业务需求时,往往找不到具体的

3、支撑人员,因此业务无法及时开展;(2)当产生一个新的业务需求时,项目进度、存在的困难等无法及时掌控;(3)由于传统的管理模式采用纸质方式进行存档和记录,因此不利于信息的共享和存储,不仅时效性差,而且容易造成重要数据的丢失。基于以上现状,利用信息化手段有效规范项目管理、提升管理效率、为客户提供更优质的服务愈发重要。本文利用Java、JavaScript 等编程语言和 MySQL 数据库,基于 Spring Boot、Spring Security、Spring AOP 等技术,设计与实现了信息化项目管理系统。1 相关技术概述1.1 Spring BootSpring Boot 使用 Maven

4、管理各种依赖包,自动化配置Spring 容器,不需要进行 XML 配置,使得开发人员在开发过程中可以遵循“习惯优于配置”的原则,把工作重心放在系统逻辑层面,而不需要关心底层逻辑是如何实现的2,从而提高开发效率。1.2 ThymeleafThymeleaf 是一个面向 web 服务器端的现代化 Java 模板引擎。与传统 Java 模板引擎不同的是,Thymeleaf 可以直接被浏览器加载,展示静态页面效果。当通过 Web 应用程序访问时,Thymeleaf 会根据对应的标签属性进行动态渲染。Spring Boot 推荐使用 Thymeleaf 模板引擎。1.3 Spring SecurityS

5、pring Security 为应用系统提供声明式的安全访问控制解决方案,实现了对用户登录与访问权限的校验。“认证”是系统判断用户是否能登录。“授权”是系统判断用户是否有权限去做某些事情。通过 Spring Boot 整合 Spring Security 框架,减少为了实现系统安全控制而编写大量重复代码的工作3。1.4 Spring AOPSpring AOP 通过切面技术为业务主体增加 Before、After、Around 等额外的五种通知,同时对特定的代码块进行管理和装饰,从而降低逻辑耦合度,提高功能的可重用性。AOP 主要应用于日志记录、性能测试、事务控制等,其中记录系统操作是 Spr

6、ing AOP 的一个典型应用。1.5 EChartsECharts 是一款基于 JavaScript 的数据可视化图表库,具有使用简单、兼容性好等特点,提供饼图、雷达图等数据可视化图表。使用 Echarts 时,需要在项目中引入 echarts.min.js文件,再用一个 div 元素作为存放图表的容器,在 JavaScript脚本块中调用echarts.init实现实例的初始化,然后设置选项、传入数据实现图表的动态渲染。2 系统设计方案系统设计的主要功能包括商机管理、大数据标签、5G 重点企业、项目管理、智慧车间、供应商管理、用户管理,系统功能结构设计如图 1 所示。2023 年第 11

7、期114计算机应用信息技术与信息化图 1 系统功能结构图商机管理主要用于展示用户录入的商机列表,能够根据商机所在区县、业务类型、商机来源、意向合作伙伴、支撑人员等信息快速查找商机,并对商机执行修改、查看详情等操作。此外,基于 Echarts 可视化呈现商机比例,帮助用户从宏观上掌握总体情况。大数据标签主要实现了动态加载标签库,对海量用户进行精准画像,结合不同业务需求进行精准匹配与识别,对目标用户进行精准触达沟通。项目管理主要实现了项目录入、实施进度反馈、审批意见等功能。智慧车间和 5G 重点企业管理用于帮助用户对企业、车间进行自动化管理。供应商管理包括供应商的添加、删除和修改,用于对供应商的信

8、息进行维护,帮助用户准确选择供应商。用户管理主要实现新用户的添加、用户个人信息、用户角色权限的管理。2.1 登录与权限设置在项目管理系统开发中,首先要考虑安全性问题,这也是开发的系统能否实际应用的前提,在进行一系列操作时,有些请求可以不需要经过验证就能执行,有些请求需要特定访问权限才可以执行。在设计方案中,为了简化 Spring Security 的配置,选择导入 spring-boot-starter-security,使用 SecurityFilterChain Bean 来配置 HttpSecurity。登录认证模式采用的是 formLogin,相比于 Basic 登录模式,其优点在于应

9、用范围广,可以自定义定制登录页面。在 Spring Security 5.7.6 版本中,直接声明配置类,再配置一个生成 SecurityFilterChain 的方法,不需要再继承WebSecurityConfi gurerAdapter。(1)认证自定义 UserDetailsService 接口的实现类,在类中添加Component 注 解,通 过 重 写 loadUserByUsername(String username)方法封装用户的用户名、密码等详细信息,并返回用户对象供 Spring Security 认证使用。配置 SecurityConfi g 类源代码如下:Overrid

10、eprotected void configure(HttpSecurity http)throws Excep-tion http.formLogin().usernameParameter(username).passwordParameter(password).loginPage(/getlogin).loginProcessingUrl(/login).successForwardUrl(/index).failureForwardUrl(/toerror);http.authorizeRequests().antMatchers(/getlogin).permitAll().ant

11、Matchers(/login/*,/index/*,/boot-strap/*,/registerhtml).permitAll().anyRequest().authenticated();添加 UserDetailServiceImpl 实现 UserDetailsService 接口来实现身份认证,源代码如下:Override public UserDetails loadUserByUsername(String user-name)throws UsernameNotFoundException Userr user=cloudAndFiveGMapper.loadUserByUs

12、er-name(username);System.out.println(执行了该方法);if(!user.getUsername().equals(username)throw new UsernameNotFoundException(该用户名不存在);String password=user.getPassword();return new User(username,password,AuthorityUmaSeparatedStringToAuthorityList(admin,normal);Spring Security 框架会根据用户输入的密码进行 BCrypt-Passwor

13、dEncoder 算法加密,并将数据库中存储的加密后的密码与用户输入的密码放在 Spring Security 内置的处理器中进行比对,算法的加密盐为:private Pattern BCRYPT_PATTERN=Ppile(A$2(a|y|b)?$(dd)$./0-9A-Za-z53);相比于传统的简单输入用户名和密码的方式,使用SpringSecurity 框架会更加安全。(2)授权为了简化设计,在 MySQL 数据库中,设计用户表userinfo 和角色表 user_role,实现用户和角色通过 role_id 字段进行关联,在 controller 控制器中添加注解 PreAuthor

14、ize,设置在目标方法执行之前进行权限校验。2.2 记录用户系统操作通过 AOP 切面编程技术将切面功能和业务逻辑解 2023 年第 11 期115计算机应用信息技术与信息化耦,可以方便地实现用户操作的日志记录功能。在本系统中,使用 After 后置通知实现记录用户操作日志,如图 2 所示。Pointcut(“execution(public*com.sdyd.test.control-ler.*.*(.)”)public void aspectTest()After(“aspectTest()”)public void after(JoinPoint point)/获取请求的 url Htt

15、pServletRequest request=(ServletRequestAttri-butes)RequestContextHolder.getRequestAttributes().getRe-quest();String requestUrl=request.getRequestURL().to-String();/获取请求的类名 String className=point.getTarget().getClass().get-Name();/操作时间 Timestamp timestamp=new Timestamp(new Date().get-Time();/获取执行的方法名

16、 String methodName=point.getSignature().getName();/获取传入的参数 Object args=point.getArgs();System.out.println(“参数的个数为:”+args.length);if(args.length!=0)for(int i=0;i args.length;i+)System.out.println(第 +(i+1)+个参数为:+argsi);String username=SecurityContextHolder.getContext().getAuthentication().getName();Op

17、erateLog operateLog=new OperateLog();operateLog.setDt(timestamp);operateLog.setClassname(className);operateLog.setMethodname(methodName);/operateLog.setParameter(args.toString();operateLog.setRequestUrl(requestUrl);operateLog.setUsername(username);int n=userLoginInfoService.insertOperateLog(operateL

18、og);图 2 记录用户操作2.3 大数据标签基于数据处理技术及丰富的标签库能力,对海量用户进行精准画像,结合不同业务需求进行精准匹配与识别,对目标用户进行精准触达沟通。大数据标签可实现客户自主选择已有的标签,减少标签核对时间,提高标签选择的准确性。通过进行大数据标签选择,避免了传统方法中进行大数据标签的选择时选择项数量多,造成选择混乱的问题。通过点击该模块功能,显示可供客户选择的大数据标签种类,现阶段主要分为三类,分别是复工复产标签、大数据征兵标签和金融行业应用标签。选择对应的标签,可进入查看详细的标签属性,如图 3 所示。图 3 大数据标签2.4 商机管理用户在点击商机管理后,右侧的 if

19、rame 标签就会加载对应的静态 HTML 文件,同时在页面初始化的时候,通过 js 函数 getCloudAndFiveGData 加载数据库中的数据进行bootstraptable 渲染。在这个页面中,显示的字段有区县、集团名称、业务类型、商机来源、进度、预计签约额、意向合作伙伴、支撑经理、商机概况等共计 9 个字段的数据。在设计开发过程中,考虑到商机概况内容较多,如果直接显示在页面中,可能会造成页面拥挤,不便于用户查看,因此通过动态加载 button 按钮和模态框的形式,将商机概况数据存储到模态框的标签中进行动态呈现。用户在点击查看按钮后,页面会弹出一个模态框,在模态框的 h 标签中会显

20、示集团名称和业务类型,在 textarea 标签中会显示商机概况,方便用户查看,对商机一目了然。2023 年第 11 期116计算机应用信息技术与信息化2.5 用户管理在用户管理中,系统管理可以对平台中已经注册的用户姓名、状态、部门以及权限等信息进行更改。2.6 可视化设计与实现MySQL 数据库中存储了重点商机、各个项目的进度信息以及信息化业务的详细情况等信息,需要对这些关键信息进行处理和分析,通过合适的图表类型在前端 HTML 进行动态的加载和渲染4。以各分公司重点信息化项目业务数量为基础数据,借助 Echarts 图表库和 ajax 将存储在数据库中的数据以可视化的形式呈现,效果如图 6

21、 所示。饼图部分源代码如下:var myChart=echarts.init(document.getElementById(main);/指定图表的配置项和数据var option=title:text:信息化项目业务占比,subtext:支撑经理:XXX,left:center,legend:orient:vertical,left:left,;myChart.setOption(option);图 6 信息化项目业务占比2.7 项目进度时间轴设计在信息化项目执行过程中,为了方便相关成员了解项目进展以及监督项目实施情况,在 bootstraptable 的每一行项目记录中的详情增加时间轴功

22、能,系统会根据项目编号自动存储该项目的实施进展信息,包含时间、最新结算金额、最新结算比例、备注等。用时间轴的方式将项目进展信息串联起来,使项目进展情况一目了然5,时间轴效果如图 7 所示。图 7 项目时间轴3 结语该系统应用于地市信息化项目管理,能够有效支撑管理各项业务,优化记录流程,准确、快速统计 5G、大数据等重点创新业务,减少人工统计工作量,提高工作效率,可有效改善寻找支撑人员、信息共享等问题,有效提升办公自动化水平。此外,在项目管理人员进行项目汇总时,不再需要向各个支撑人员通过邮件等形式要求发送台账,而只需要使用账号登录平台,即可查看到已经录入的业务数据信息,并可以将数据导出,保存至本

23、地进行查看。参考文献:1 林青.ICT 项目支撑管理系统的建设思考 J.电子世界,2019(5):23-24.2 莫秋晶,黄志远,王爱华,等.基于 Spring Boot 的信息化服务管理系统的设计与实现 J.电子技术与软件工程,2018(21):50-51.3 朱运乔.基于 Spring Security 认证与授权的 Web 应用与实现 J.电脑编程技巧与维护,2020(11):14-16.4 郑菲,陈晓凤,谢豆,等.基于 ECharts 的“绿色车间”监控可视化研究 J.电脑知识与技术,2020,16(18):222.5 郝佳思,王青,吕航.科研项目生命周期管理信息系统的设计与实现 J.信息与电脑,2022,34(10):127.【作者简介】王文静(1993),女,山东济南人,硕士,工程师,研究方向:大数据、云计算。国育家(1989),通信作者,男,山东济南人,硕士,工程师,研究方向:移动通信网络的智能化管理与应用、大数据、云计算。贾康铖(1994),男,山东青岛人,学士,研究方向:市场管理、大数据。(收稿日期:2023-07-01 修回日期:2023-07-21)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服