前段时间各种各样的的事情太忙,CSDN博客停止更新快两个月。今天为大家分享一个JAVA窗体版本的个人记账系统529(也可以叫个人财务系统).本次介绍的基于SpringBoot的个人记账系统的涉及到数据库技术、UI技术、多线程技术、文件技术、图表技术等,是一个实战性很强的项目。基于SpringBoot的个人记账系统中具备的功能包括:登陆、记账、历史消费查询、分类设置、每月阈值设置、统计分析、消费账单删除、消费账单修改、预算设置、愿望管理、个人信息维护等功能。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。通过实战项目,喜欢上编程,提高编程水平,一起加油!
系统架构
本次开发的基于SpringBoot的个人记账系统采用的开发模式为:Springboot+LayUI的开发者工具的的架构模式。Spring Boot和LayUI是两个不同的技术栈,分别用于构建后端和前端应用程序。
Spring Boot是一个用于构建Java应用程序的开发框架,它通过约定大于配置的原则简化了Spring应用程序的创建和开发过程。Spring Boot集成了大量常用的第三方库和工具,使得开发者可以快速地构建健壮、安全和易于维护的应用程序。
Layui 是一套开源免费的 Web UI 组件库,采用自身轻量级模块化规范,遵循原生态的 HTML/CSS/JavaScript 开发模式,非常适合网页界面的快速构建。Layui 区别于一众主流的前端框架,它更多是面向于后端开发者,即无需涉足各类构建工具,只需面向浏览器本身,便可将页面所需呈现的元素与交互信手拈来。LayUI的官网地址为:https://layui.dev/
这种架构可以实现前后端分离,前后端可以独立开发和部署,降低了系统的耦合度,提高了开发效率和可维护性。同时,前端和后端可以使用不同的技术和框架,只要遵循相同的API规范即可实现数据的交互和通信。系统的整体架构如下图所示意:
系统主要功能
系统的功能结构入下图所示,其功能结构入下图所示:
运行效果
1 登录
2 注册
3 主页-消费一览
4 个人记账
5 分类管理
6 添加分类
7 消费账单
8修改和删除账单
7 预算设置
8 愿望清单
9 个人信息修改
关键代码
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
String contextPath=session.getServletContext().getContextPath();
String[] requireAuthPages = new String[]{
"index"
};
String uri = request.getRequestURI();
uri = StringUtils.remove(uri, contextPath+"/");
String page = uri;
if(begingWith(page, requireAuthPages)){
if(session.getAttribute("user") != null){
return true;
}else{
response.sendRedirect("/login");
}
}
return true;
}
项目总结
(1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。
(2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。
(3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。
(4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性。