基于Java+SpringBoot+Vue前后端分离网上银行系统设计与实现(视频讲解)

博主介绍:✌全网粉丝3W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅开源项目免费哦(有vue2与vue3版本):点击这里克隆或者下载   🍅

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html

uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12199600.html

✨【微服务】Nacos为什么丢弃短连接(http)而选择拥抱长连接(gRPC)

目录

一、前言

1、 研究背景

2、 国内外研究现状

3、目标和意义

二、系统设计

1、系统运行环境

2、系统架构

三、非功能性与可行性分析

四、功能截图

1、登录

普通用户:

2、银行业务

2.1、存款

2.2、取款

2.3、转账

2.4、交易记录

2.5、余额查询

3、个人中心

管理员:

4、账户管理

5、交易记录

6、系统管理

6.1、角色管理

6.2、菜单管理

五、实现代码

1、用户控制器

2、用户服务接口

3、服务实现类

六、uniapp教程(需求分析、各模块及其节点文档、各模块案例)另外一个项目

七、获取源码


一、前言

1、 研究背景


随着社会的进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,特别是在银行账目管理之中的应用日益收到人们的关注。

人们生活质量的提高,与银行打交道以及成为人们生活中不可或缺的一部分,银行的用户持续增长。可是人们对银行的服务也提出更多,更高的要求。人们希望能更方便更省时地办储蓄业务。人们急切的希望有一种通用银行卡以便随时随地在哪家银行都可以存款,取款;现在计算机网络的高速发展使越来越多的人更喜欢在网上购物、在家存款取款;再这样的发展背景下,很明显需要建立一个、新的、高效的、方便的、互联的银行信息系统,以此提高银行信息系统的工作效率。满足更多用户的需求。

2、 国内外研究现状


在科学进步与技术创新中,金融业作为经济核心部门,其改革和发展一定要从长远目标考虑,以科技为创新动力,大力开发跨世纪的新型服务品种,走内涵式金融创新发展道路,确保我国金融业在国际大竞争中立于不败之地。在此环境中,以网络为依托的网上银行显示出强劲生命力。

1995年10月,美国三家银行联手推出全球第一家网上银行。即第一网络银行,由此揭开网上银行的发展序幕,国际各大商业银行相继推出网上银行。预计到2005年,其网上银行交易量将占其银行业务的75%。在国内,我国第一笔网上业务,于1998年3月6口,在中国银行网上交易成功。中国建设银行专门成立了网上银行部,并于1999年6月30日成功开通网上银行。招商银行建立的网上银行由企业银行、个人银行、网上证券、网上商城和网上支付五部分组成,结构更趋合理。中信实业银行于1999 年9月3日与IBM 公司软件部签约,建立全面电子商务系统,继而开发网上银行。网上银行为用户提供全方位、全天候、便捷、实时的现代化服务。这是一种全新的银行客户服务提交渠道,使得客户可以安全便捷地管理自己的资产和享受银行的服务。网上银行系统支持的银行业务包括:信息服务、账户查询、账号交易、扩展业务四大类型的银行服务。网上银行作为一种全新的服务提交渠道提供给客户,目前客户群主要集中在具有一定教育程度、能够使用Internet网络的人群,而伴随着Internet 网络广泛、迅速的普及和使用,正在形成一个庞大的潜在客户群体。

网上银行不受时间和空间的限制,可以随时随地处理用户的请求;网上银行的界面友好直观,用户可以通过简单的操作得到相应的服务,用户看到结果更加直观;网上银行提供的资讯详细而全面,用户可以得到比人工咨询更加准确的解答。提升银行形象,向客户提供更加优质的服务,增强客户对银行的信心;大幅度降低营运成本;专注于银行产品和服务的开发;获得高价值的客户;可跨行业从事电子商务。

目前国内电子商务模拟平台软件有三大类,一类是基于C/S结构的,受用户数量限制的,基于表格互传的网上贸易模拟,实质上相当于企业内部信息管理系统:另一类是基于交易平台的大型网上贸易模拟,它基于某个行业的垄断,召集该行业所有企事业单位,加盟该交易平台,获得交易席位,类似于证券交易所的红马夹,代表各自的企业在该交易平台上进行网上贸易。这种模拟系统基于特殊的交易平台,难以适应将来自由竞争的大环境;第三类是基于B/S结构的模拟系统,它采用先进的浏览器/服务器方式,不受访问量的限制,完全真实的模拟电子商务的主要模式。从理论知识的学习到具体模式的实现流程,从企业对消费者的网上营销到企业对企业的网上贸易,这类系统都能给学生清晰的概念和实践的机会。

3、目标和意义


现在的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更方便更省时就可以办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发展使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们日益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。

本系统开发的目的就是为了改善银行办理业务的复杂,低效的现状,提供一个基于互联网的安全系统,通过这个平台,人们可以更快的办理业务,银行人员可以减少工作量,提高工作效率。本系统所研究的内容是,实现一个简单的网上银行系统,来给储蓄用户和银行工作人员提供方便、安全、快捷的平台,储蓄用户通过开通网上银行可以查看余额、存款、取款、转账、修改密码等操作;银行工作人员使用此系统可以查看用户信息、查看交易信息、冻结账户等操作。简单的实现了金融服务的网络化。
 

二、系统设计

1、系统运行环境


开发系统:Windows10

架构模式:MVC/前后端分离

JDK版本:Java JDK1.8

开发工具:IDEA

数据库版本: mysql5.7

数据库可视化工具: SQL yog或Navicat for MySQL

服务器:SpringBoot自带 apache tomcat

主要技术:Java、SpringBoot、MyBatis-plus、SpringSecurity、Redis、MySQL、Uniapp、Vue、Html等
 

2、系统架构

三、非功能性与可行性分析

2.5非功能性需求分析

非功能性需求:用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或期望,包括:

2.5.1性能需求:

用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。

2.5.2可行性需求:

用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。

2.5.3易用性需求:

用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。

2.5.4安全性需求:

用户在身份证、授权控制、私密性等方面的要求。

2.5.5运行环境约束:

用户对软件系统运行环境的要求。

2.5.6外部接口:

用户对待开发软件系统与其它软件系统或设备之间的接口要求

2.6可行性分析

可行性分析是从不同的角度,对可能影响系统的各方面因素进行分析,确认系统在实际生活上是可行的。本系统只是单纯地从经济、法律、技术、操作可行性四个方面来分析说明。

2.6.1技术可行性

技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用Vue+Elementui开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性和持久性。后端技术使用SpringBoot、MyBatis,这些技术在许多公司已经被商用了,因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。

2.6.2经济可行性

  项目放在阿里学生服务器或者本地虚拟机的linux环境,故可行。

2.6.3法律可行性

  可行,自己写的项目,目的明确,没有违法违规。

2.6.4操作可行性
操作较为简单,而且当下信息科技发达,界面的设计也着实考虑到用户的体验,系统也是为用户而生。故操作是可行的,不存在难度大的操作。
 

四、功能截图

1、登录

 

普通用户:

2、银行业务

2.1、存款

 

2.2、取款

 

2.3、转账

 

2.4、交易记录

 

2.5、余额查询

 

3、个人中心

管理员:

4、账户管理

 

5、交易记录

 

6、系统管理

6.1、角色管理

 

6.2、菜单管理

五、实现代码

1、用户控制器

@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/api/users")
public class CeamSysUserController {private final ICeamSysUserService ceamSysUserService;@GetMappingpublic ResponseEntity page(PageableDTO pageableDTO) {IPage<CeaMSysUserVO> ceaMSysUserVOIPage = ceamSysUserService.pageCeaMSysUserVO(pageableDTO);return ResponseEntity.ok(ceaMSysUserVOIPage);}@PostMappingpublic ResponseEntity<Object> add(@RequestBody CeaMSysUserDTO data) {ceamSysUserService.add(data);return ResponseEntity.ok("成功");}@PutMappingpublic ResponseEntity<Object> edit(@RequestBody CeaMSysUserDTO data) {ceamSysUserService.edit(data);return ResponseEntity.ok("成功");}@DeleteMappingpublic ResponseEntity<Object> add(@RequestParam String id) {ceamSysUserService.remove(Long.parseLong(id));return ResponseEntity.ok("成功");}
}

2、用户服务接口

/*** <p>* 用户表 服务类* </p>** @author CeaM* @since 2023-01-28*/
public interface ICeamSysUserService extends IService<CeamSysUser> {/*** 分页查询** @param pageableDTO 分页入参* @return 分页数据*/IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO);/*** 根据账号加载用户信息** @param userName 用户账号* @return CeaMSysUserDTO*/CeaMSysUserDTO loadUserInfo(String userName);/*** 添加用户** @param data 前端入参*/void add(CeaMSysUserDTO data);/*** 修改用户** @param data 前端入参*/void edit(CeaMSysUserDTO data);/*** 根据用户ID删除用户** @param id userId*/void remove(Long id);
}

3、服务实现类

@Service
public class CeamSysUserServiceImplextends ServiceImpl<CeamSysUserMapper, CeamSysUser> implements ICeamSysUserService {@Overridepublic IPage<CeaMSysUserVO> pageCeaMSysUserVO(PageableDTO pageableDTO) {LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery().eq(CeamSysUser::getDeleted, GlobalConstants.FALSE);Page<CeamSysUser> page = new Page<>(pageableDTO.getPage(), pageableDTO.getSize());page.setCurrent((long)pageableDTO.getPage()  + GlobalConstants.ONE);Page<CeamSysUser> ceamSysUserPage = page(page, queryWrapper);IPage<CeaMSysUserVO> ceaMSysUserVOIPage = PageVOUtil.copyToPageVO(ceamSysUserPage, CeaMSysUserVO.class);return ceaMSysUserVOIPage;}@Overridepublic CeaMSysUserDTO loadUserInfo(String userName) {LambdaQueryWrapper<CeamSysUser> queryWrapper = Wrappers.<CeamSysUser>lambdaQuery().eq(CeamSysUser::getUsername, userName);CeamSysUser ceamSysUser = baseMapper.selectOne(queryWrapper);if (ObjectUtils.isEmpty(ceamSysUser)) {throw new ServiceException("账号不存在");}if (ceamSysUser.getStatus() == GlobalConstants.ONE) {throw new ServiceException("账号已禁用");}CeaMSysUserDTO ceaMSysUserDTO = BeanCopyUtil.copyProperties(ceamSysUser, CeaMSysUserDTO.class);return ceaMSysUserDTO;}@Overridepublic void add(CeaMSysUserDTO data) {CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);save(ceamSysUser);}@Overridepublic void edit(CeaMSysUserDTO data) {CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);updateById(ceamSysUser);}@Overridepublic void remove(Long id) {removeById(id);}
}

六、uniapp教程(需求分析、各模块及其节点文档、各模块案例)另外一个项目

另外一个项目基于Java+SpringBoot+Vue+Uniapp(有教程)前后端分离健身预约系统设计与实现

七、获取源码

 大家点赞、收藏、关注、评论啦 、关注下方公众号获取联系方式👇🏻👇🏻

🍅免费下载🍅商业使用需授权:点击这里下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24267.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中关村论坛 | 金融业从增量到存量博弈背后两大原因 更重要的是……

在数字经济浪潮下&#xff0c;中国金融业正在经历数字化转型的深刻变革。为研判金融科技行业发展趋势和前景&#xff0c;探索金融创新与监管安全的边界&#xff0c;“2023中关村论坛金融科技论坛”于5月29日召开。 中电金信常务副总经理冯明刚与中国银行软件中心副总经理康钧伟…

17、Health Check 健康检查

强大的自愈能力是kubernetes容器编排引擎的重要特性。 自愈的默认实现方式是自动重启发生故障的容器。除此之外&#xff0c;还可通过 Liveness和Readiness探测机制设置更精细的健康检查&#xff0c;进而实现如下要求&#xff1a; 零停机部署 避免部署无效的镜像 更加安全的滚动…

玩与学 | 《乐高EV3机器人搭建与编程》

如果你正在寻找不需要焊接电线或学习高深的编程语言就能够一窥机器人奥妙的方法&#xff0c;那么LEGO MINDSTORMS EV3正是你要找的。你可以通过LEGO连接部件和图形界面来搭建机器人并为其编程。当你准备好接受新挑战的时候&#xff0c;你还可以破解操作系统并使用更高级的编程语…

像玩乐高一样玩simpletun

netcat小巧而灵活&#xff0c;能应付各种你需要的网络测试。 但要明白netcat所能应对的网络场景基本都和端到端有关&#xff0c;比如和TCP&#xff0c;UDP有关。 网络还有另一面&#xff0c;即链路本身。如果你想模拟一个防火墙&#xff0c;模拟一个NAT怎么办&#xff1f;用n…

LeGO-LOAM学习

前言 在学习了LOAM之后&#xff0c;了解到LeGO-LOAM&#xff08;面向复杂情况的轻量级优化地面的雷达里程计&#xff09;&#xff0c;进行了一个学习整理。 Github&#xff1a;https://github.com/RobustFieldAutonomyLab/LeGO-LOAM 论文&#xff1a;https://github.com/Robu…

乐高大颗粒作品10:滑板车的搭建

温馨提示 如果你喜欢本文&#xff0c;请点击收藏、在看并分享到朋友圈&#xff0c;想要获得更多乐高大颗粒图纸&#xff0c;请点击蓝字关注“Scratch青少儿编程课堂”&#xff0c;不定期更新更多优质作品。 ⭐ 详细步骤图 -end- 乐高大颗粒作品9&#xff1a;水井的搭建 2021-01…

乐高打印机robotc

目录 一、实验原理 二、实验目的 三、实验内容 四、实验器材&#xff08;设备、元器件&#xff09; 五、实验步骤 六、实验数据及结果分析 七、实验结论 八、总结及心得体会 九、对本实验过程及方法、手段的改进建议 代码附录 温馨提示 一、实验原理 1.取模&#x…

乐高大颗粒作品6:打地鼠的搭建

温馨提示 如果你喜欢本文&#xff0c;请点击收藏、在看并分享到朋友圈&#xff0c;想要获得更多乐高大颗粒图纸&#xff0c;请点击蓝字关注“Scratch青少儿编程课堂”&#xff0c;不定期更新更多优质作品。 ⭐ 打地鼠第一种搭建方法&#xff08;曲柄&#xff09; 打地鼠第二种搭…

LEGO® Education BricQ 乐高教育发布BricQ趣动系列套装

乐高教育今日宣布其发布两款无需额外技术辅助&#xff0c;寓学于乐的动手实践式STEAM学习解决方案&#xff0c;LEGO Education BricQ趣动系列套装。此次发布的两款解决方案均以体育运动为主题&#xff0c;在物理科学学科教学中通过实际场景应用&#xff0c;帮助学生们以有趣且独…

如何搜索相似的图片,如何通过识别图像搜索图片

最近有一张图片&#xff0c;想搜索这张图片的来源&#xff0c;搜索图片里的内容也没有搜索出来。比如搜索一个明星的照片&#xff0c;输入名字可以出来很多&#xff0c;但是有了图片想知道这个图片更多的信息&#xff0c;或者类似的图片&#xff0c;怎么搜索呢。 百度提供了一个…

搜索引擎(包括图片搜索)

转自&#xff1a;http://blog.csdn.net/v_july_v/article/details/6827391 1、什么是搜索引擎 搜索引擎指自动从因特网搜集信息&#xff0c;经过一定整理以后&#xff0c;提供给用户进行查询的系统。因特网上的信息浩瀚万千&#xff0c;而且毫无秩序&#xff0c;所有的信息像汪…

安卓性能测试(三):耗电量 (batterystats)

使用条件&#xff1a; android 5.0及以上系统 &#xff08;在6.0及以上系统的数据更详细&#xff09; 使用方法&#xff1a; 1、打开电池数据获取 adb shell dumpsys batterystats --enable full-wake-history 2、数据重置 adb shell dumpsys batterystats --reset 3、拔掉…

BatteryStatsService电池电量统计服务源码分析

BatteryStatsService主要负责电池电量的统计信息&#xff0c;首先我们简单的看下电量统计服务的启动过程。 BatteryStatsService启动过程 从BatteryStatsService的启动时序图可以看出&#xff0c;BatteryStatsService服务是在ActivityManagerService服务中启动的 1. 在SystemSe…

android 4.4 batteryservice 电池电量显示分析

转载地址&#xff1a;http://blog.csdn.net/daweibalang717/article/details/40615453 最近工作接触到这么的东西&#xff0c;这是我对整个电池管理方面Java 层的分析。如果想了解底层的话&#xff0c;请看我的博客&#xff1a; android 4.4 电池电量管理底层分析(C\C层) &a…

Battery Historian分析手机耗电神器

极力推荐Android 开发大总结文章&#xff1a;欢迎收藏程序员Android 力荐 &#xff0c;Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中 电量 的部分知识点&#xff0c;通过阅读本篇文章&#xff0c;您将收获以下内容: 1.安装Battery Historian 2.收集Batteryst…

卡尔曼滤波预测应用python实践

1. 什么是卡尔曼滤波 最佳线性滤波理论起源于二十世纪40年代美国科学家Wiener和前苏联科学家KOnMoropOB等人的研究工作&#xff0c;后人统称为维纳滤波理论。60年代Kalman把状态空间模型引入滤波理论&#xff0c;并导出了一套递推估计算法&#xff0c;后人称之为卡尔曼滤波理论…

BatteryStatsService电池电量统计服务分析

BatteryStatsService主要负责电池电量的统计信息,首先我们简单的看下电量统计服务的启动过程。 BatteryStatsService启动过程 从BatteryStatsService的启动时序图可以看出,BatteryStatsService服务是在ActivityManagerService服务中启动的 1. 在SystemServer中startBootstra…

使用Battery Historian采集android耗电数据

一、简介 Battery Historian是由Google提供的查看电量相关信息及事件的工具&#xff0c;Battery historian还可以上传bugreport文件&#xff0c;分析用户手机中App的电池耗电情况。详见&#xff1a;GitHub - google/battery-historian: Battery Historian is a tool to analyz…

利用XGBoost实现短期电力负荷预测

💥 项目专栏:【机器学习项目实战案例目录】项目详解 + 完整源码 文章目录 一、利用XGBoost实现短期电力负荷预测二、数据集介绍三、将数据进行标准化四、形成训练数据五、划分训练集、测试集六、定义模型七、模型训练八、训练集、测试集验证九、网络搜索十、绘制结果🌠 『…

性能优化十四之电量分析工具Battery Historian使用

上篇博客中并没有讲解BatterHistory该如何使用&#xff0c;这篇博客就开始给大家进行介绍。 数据准备 battery-historian工具需要使用bugreport中的BatteryHistory 1. 先断开adb服务&#xff0c;然后开启adb服务 adb kill-server 这一步很重要&#xff0c;因为当我们开…