本文介绍了一款基于Spring Boot框架的个人随手记App的设计与实现过程。该App旨在为用户提供便捷、高效的个人笔记管理服务,通过Spring Boot框架的优势,实现了前后端分离、模块化设计、快速开发和部署等特点。
App的主要功能包括用户注册与登录、首页展示、随手记录创建与编辑、网站公告查看、新闻资讯浏览以及个人信息管理等。普通用户可以轻松记录生活中的点滴,查看和编辑自己的笔记,同时接收App的公告消息和浏览新闻资讯。管理员则通过后台管理系统,对App进行全面的监控和维护,包括用户管理、记录分类管理、随手记录管理、系统轮播图管理、公告消息管理以及新闻资讯管理等。
在设计上,App注重用户体验和界面友好性,采用简洁明了的界面设计和直观的交互方式。在实现上,利用Spring Boot框架的特性和优势,结合前端技术,实现了前后端分离和模块化设计,提高了系统的可维护性和可扩展性。
通过本文的实现,不仅满足了用户对个人笔记管理的需求,也为管理员提供了一种高效、便捷的后台管理工具。该App的设计与实现为类似应用的开发提供了有益的参考和借鉴。
关键词:SpringBoot框架;个人随手记App;个人笔记管理;前后端分离;模块化设计
Abstract
This article introduces the design and implementation process of a personal notes app based on the Spring Boot framework. This app aims to provide users with convenient and efficient personal note management services. By leveraging the advantages of the Spring Boot framework, it achieves front-end and back-end separation, modular design, rapid development, and deployment.
The main functions of the app include user registration and login, homepage display, easy record creation and editing, website announcement viewing, news browsing, and personal information management. Ordinary users can easily record daily life events, view and edit their notes, and receive app announcements and browse news and information. The administrator monitors and maintains the App comprehensively through the backend management system, including user management, record classification management, on-demand record management, system carousel management, announcement message management, and news information management.
In terms of design, the app emphasizes user experience and user-friendly interface, adopting a concise and clear interface design and intuitive interaction methods. In terms of implementation, utilizing the characteristics and advantages of the Spring Boot framework, combined with front-end technology, we have achieved front-end and back-end separation and modular design, improving the maintainability and scalability of the system.
Through the implementation of this article, it not only meets the needs of users for personal note management, but also provides an efficient and convenient backend management tool for administrators. The design and implementation of this app provide useful reference and inspiration for the development of similar applications.
Keywords: SpringBoot framework; Personal Notes App; Personal note management; Front and rear separation; Modular design
1.1 研究背景与意义
随着移动互联网的迅速发展和智能手机的普及,人们对个人信息管理工具的需求日益增强。个人随手记App作为一种便捷、高效的信息记录工具,能够帮助用户随时记录生活中的点滴,整理个人思绪,提高工作效率。然而,市场上的个人随手记App种类繁多,功能各异,用户在使用过程中往往需要面对操作复杂、功能单一、数据安全性不足等问题。因此,开发一款功能全面、操作简便、安全可靠的个人随手记App具有重要的现实意义。
Spring Boot作为一种轻量级、快速构建Web应用的框架,具有高度的集成性和灵活性,能够简化开发过程,提高开发效率。基于Spring Boot的个人随手记App的设计与实现,能够充分利用Spring Boot框架的优势,实现前后端分离、模块化设计、快速开发和部署等特点,为用户提供更加优质的使用体验。
此外,个人随手记App作为一种个人信息管理工具,还能够为用户提供个性化、智能化的服务。通过对用户数据的分析和挖掘,App可以为用户推荐相关内容,提供个性化建议,帮助用户更好地管理个人信息。同时,App还能够为用户提供数据备份和恢复功能,保障用户数据的安全性。
综上所述,基于Spring Boot的个人随手记App的设计与实现具有重要的研究背景和意义。通过该App的开发和应用,不仅能够满足用户对个人信息管理的需求,提高用户的工作效率和生活品质,还能够推动移动互联网技术的发展和创新。
1.2 研究现状
近年来,随着移动互联网技术的迅速发展和智能手机的广泛普及,个人随手记App作为一种便捷、高效的信息记录工具,受到了越来越多用户的青睐。目前市场上已经存在大量的个人随手记App,这些App在功能、界面设计、用户体验等方面呈现出多样化的特点。
然而,尽管市场上的个人随手记App种类繁多,但仍然存在一些问题。首先,部分App操作复杂,用户需要花费较长时间才能熟悉和掌握使用方法。其次,一些App在数据安全性方面存在隐患,用户的个人信息存在泄露的风险。此外,还有一些App功能单一,无法满足用户多样化的需求。
针对上述问题,基于Spring Boot的个人随手记App的设计与实现应运而生。Spring Boot作为一种轻量级、快速构建Web应用的框架,具有高度的集成性和灵活性,能够简化开发过程,提高开发效率。通过采用Spring Boot框架,可以实现对个人随手记App的快速开发和部署,并提供更加优质的用户体验。
目前,基于Spring Boot的个人随手记App在国内外的研究与应用方面已经取得了一定的进展。一些开发者已经成功地将Spring Boot框架应用于个人随手记App的开发中,并通过不断优化和完善功能,提高了App的稳定性和用户体验。同时,一些学者也在对基于Spring Boot的个人随手记App的设计与实现进行深入研究,探讨如何进一步提高App的性能和功能。
综上所述,基于Spring Boot的个人随手记App的设计与实现目前处于不断发展和完善的过程中。通过不断优化和创新,相信未来会出现更加优秀、功能更加全面的个人随手记App,为用户提供更加便捷、高效的信息记录和管理服务。
1.3系统开发技术的特色
(1)系统采用前后端分离的开发模式,使得前端和后端可以独立开发和维护,提高了开发效率和系统的可维护性。
(2)系统采用微服务架构,将系统拆分成多个独立的服务,每个服务可以独立部署和扩展,提高了系统的灵活性和可扩展性。
(3)系统采用 Docker 容器化部署技术,使得系统可以快速部署和迁移,提高了系统的可靠性和可移植性。
(4)系统采用自动化测试技术,包括单元测试、接口测试和性能测试等,提高了系统的稳定性和可靠性。
(5)系统采用安全保障技术,包括用户认证、授权、数据加密等,保障了系统的安全性和用户的隐私。
这些技术特色使得基于springboot的个人随手记app具有高效、稳定、可靠、安全等优点,能够满足用户的需求和提高用户的体验。
2 基于springboot的个人随手记app分析
基于springboot的个人随手记app可在APP端实现登录注册、首页、随手记录、网站公告、新闻资讯、我的(基本信息、收藏、随手记录)等功能,相对于传统的笔记记录方式,基于springboot的个人随手记app提高了效率和便利性。在后台可对系统用户、记录分类、随手记录、系统轮播图、公告消息、新闻资讯、资讯分类进行管理,充分了解用户的需求,更有针对性的服务用户。
2.1可行性分析
2.1.1技术可行性分析
Spring Boot作为一种成熟、稳定的框架,已经被广泛应用于各种Web应用的开发中。它提供了丰富的功能和灵活的扩展性,使得开发过程更加高效和便捷。对于个人随手记App的开发,Spring Boot框架能够提供强大的后端支持,包括数据处理、用户认证、安全性控制等。此外,结合前端技术如HTML、CSS、JavaScript等,可以实现一个功能全面、界面友好的个人随手记App。因此,从技术角度来看,基于Spring Boot的个人随手记App的设计与实现是可行的。
2.1.2经济可行性分析
个人随手记App的市场需求广泛,用户群体庞大。随着人们对个人信息管理的需求不断增加,该App具有广阔的市场前景和商业价值。通过开发一个功能全面、用户体验良好的个人随手记App,可以吸引大量用户,实现盈利。同时,该App的开发成本相对较低,可以利用开源框架和免费资源来降低开发成本。因此,从经济角度来看,该App的设计与实现也是可行的。
2.1.3社会可行性分析
个人随手记App的开发符合社会发展的趋势和人们对个人信息管理的需求。通过提供便捷、高效的个人信息记录和管理功能,该App可以提高人们的生活质量和工作效率。同时,该App还可以帮助用户保护个人隐私和数据安全,符合社会对个人信息安全保护的要求。因此,从社会角度来看,该App的设计与实现也是可行的。
综上所述,基于Spring Boot的个人随手记App的设计与实现在技术、经济和社会三个方面都具有可行性。通过该App的开发和应用,可以满足用户对个人信息管理的需求,提高生活质量和工作效率,同时实现商业价值和社会价值。
2.2功能需求分析
基于springboot的个人随手记app中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了java开发语言中springboot开发框架以及tomcat8.0服务器、jdk1.8,APP端采用了uni-app框架和HBuilderX开发工具,页面使用wxss和wxml进行布局,APP端和web后台管理端采用json接口通信。
登录注册: 提供用户注册新账号或登录已有账号的功能,确保用户可以访问系统。
首页: 展示系统的重要信息、网站公告、新闻资讯等内容,引导用户了解最新动态。
随手记录: 允许用户记录个人随手笔记,包括文字、图片等形式,方便用户随时记录生活中的点点滴滴。
网站公告: 显示系统发布的重要公告和通知信息,如系统更新、活动通知等。
新闻资讯: 提供与用户关注领域相关的新闻资讯,如科技、健康、娱乐等。
我的:
基本信息: 用户可以查看和管理个人基本信息。
收藏: 用户可以收藏感兴趣的随手记录或新闻资讯。
随手记录: 用户可以查看、编辑和删除自己的随手记录。
2.管理员功能:
后台首页: 管理员登录后的管理主页,显示系统的重要信息和功能入口。
系统用户: 管理网站的用户账号信息,包括添加、编辑和删除用户。
记录分类管理: 管理随手记录的分类信息,方便用户整理和查找。
随手记录管理: 管理所有随手记录信息,包括审核发布、编辑和删除记录。
轮播图管理: 管理App首页的轮播图信息,包括添加、编辑和删除轮播图图片。
公告消息管理: 管理发布的公告消息,包括添加、编辑和删除等。
新闻资讯: 管理发布的新闻资讯,包括添加、编辑和删除等。
资讯分类: 管理资讯的分类信息,方便用户查找和浏览。
以上功能需求分析为个人随手记App的设计与实现提供了指导,确保系统能够满足用户和管理员的需求,提供便捷的随手记录和信息管理功能。
基于springboot的个人随手记app的完整UML用例图分别是图2-1,图2-2。在参与者上包括普通用户、管理员。
普通用户角色的用例包括登录注册、首页、随手记录、网站公告、新闻资讯、我的(基本信息、收藏、随手记录)。

图2-1 基于springboot的个人随手记app普通用户角色用例图
管理员角色的用例包括后台首页、系统用户、记录分类管理、随手记录管理、系统管理(轮播图管理)、公告消息管理、资源管理(新闻资讯、资讯分类)。

图2-3 基于springboot的个人随手记app管理员角色用例图
3基于springboot的个人随手记app总体设计
在上一章节中分析了基于springboot的个人随手记app的功能性需求,并且根据需求分析了基于springboot的个人随手记app中的用例。那么接下来就要开始对基于springboot的个人随手记app架构、主要功能和数据库开始进行设计。
3.1系统功能模块设计
通过对基于springboot的个人随手记app的功能需求分析以及用例分析,得出了基于springboot的个人随手记app的功能模块图如图3-1所示。

图3-1基于springboot的个人随手记app功能模块图
3.3数据库设计
3.3.1 数据库E-R模型
下面是整个基于springboot的个人随手记app的数据库表的E-R实体关系图,如图3-2所示:

图3-2 基于springboot的个人随手记appE-R实体关系图
3.3.2 数据库表设计
通过上一小节中基于springboot的个人随手记app中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | handy_recording_id | int | 10 | 0 | N | Y | 随手记录ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | record_title | varchar | 64 | 0 | Y | N | 记录标题 | |
5 | record_classification | varchar | 64 | 0 | Y | N | 记录分类 | |
6 | record_time | datetime | 19 | 0 | Y | N | 记录时间 | |
7 | record_images | varchar | 255 | 0 | Y | N | 记录图片 | |
8 | record_content | text | 65535 | 0 | Y | N | 记录内容 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | record_classification_id | int | 10 | 0 | N | Y | 记录分类ID | |
2 | record_classification | varchar | 64 | 0 | Y | N | 记录分类 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
4 基于springboot的个人随手记app关键模块实现
基于springboot的个人随手记app划分了APP用户端和web后台管理员端,APP端实现登录注册、首页、随手记录、网站公告、新闻资讯、我的(基本信息、收藏、随手记录)等功能,web端是为后台管理员提供后台首页、系统用户、记录分类管理、随手记录管理、系统管理(轮播图管理)、公告消息管理、资源管理(新闻资讯、资讯分类)的平台。
4.1 前台APP端
4.1.1 用户注册界面
不是基于springboot的个人随手记app的用户可以通过APP在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。其用户注册界面展示如下图4-1所示。
图4-1用户注册界面图
4.1.2 用户登录界面
APP上注册后的用户可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。
图4-2用户登录界面图
输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。
图4-3首页界面图
4.1.3 新闻资讯界面
用户点击新闻资讯按钮,可以进入新闻资讯列表,点击感兴趣的新闻资讯,进入新闻资讯详情页面,用户可以进行查看、点赞、收藏、评论等操作,界面如下图4-4所示。
图4-4新闻资讯详情界面图
4.1.4 随手记录界面
用户点击“随手记录”,可以记录个人随手笔记,包括文字、图片等形式,方便随时记录生活中的点点滴滴。界面如下图4-5所示。
图4-5随手记录提交界面图
4.2后台管理员端
4.2.1 系统用户界面
管理员点击“系统用户”这一菜单会显示管理员、普通用户这两个子菜单,管理员可以对这两个角色的信息进行增删改查操作。界面如下图4-6所示。
图4-6普通用户管理界面图
4.2.2随手记录管理界面
管理员点击后台左边的“随手记录管理”菜单,可以管理所有随手记录信息,包括审核发布、编辑和删除记录。随手记录管理界面如下图4-7所示。
图4-7随手记录管理界面图
4.2.3系统管理界面
管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。
4.2.4公告消息管理界面
点击“公告消息管理”这个菜单,可以查看到系统中所有添加的公告消息,支持通过标题对公告消息进行查询,添加、删除等操作。公告消息管理界面如下图所示。
图4-9公告消息管理界面图
4.2.5资源管理界面
管理员点击“资源管理”这一菜单会显示新闻资讯、资讯分类这两个子菜单,管理员可以对这两部分涉及到的功能进行更新维护,更好的服务于前台用户。界面如下图所示。
5 基于springboot的个人随手记app测试
基于springboot的个人随手记app测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于springboot的个人随手记app,以便发现基于springboot的个人随手记app中的错误。测试工作是保证基于springboot的个人随手记app质量的关键。
APP端上用户随手记录功能测试:
表5-1APP端上用户随手记录功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户随手记录功能模块测试 | 用户随手记录功能成功 | 输入随手记录信息 | 点击“随手记录”进入随手记录页面,填写相关信息,点击“提交”按钮。 | 生成自己的随手记录信息。 | 正确 |
APP端上评论功能测试:
表5-2APP端上评论功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
评论功能模块测试 | 评论信息正常的显示 | 浏览新闻资讯详情信息 | 点击“评论”-“输入评论内容,点击“提交”按钮。 | 成功完成评论 | 正确 |
web后台端上管理员发布公告消息功能测试:
表5-3web后台端上管理员发布公告消息功能测试用例表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
管理员发布公告消息功能测试 | 添加公告消息的情况 | 输入新公告消息的基本信息 | 后台选择“公告消息管理”菜单后,填写新公告消息后点击“提交”按钮 | 新公告消息发布成功 | 正确 |
5.2测试结果
通过编写了基于springboot的个人随手记app的测试用例,已经检测完毕了5.1章节中的3大模块,它为基于springboot的个人随手记app系统的后期推广运营提供了强力的技术支撑。
本次基于springboot的个人随手记app的设计与实现,功能方面,通过功能模块图区分该程序的用户端与管理端各自的功能权限;数据库方面,数据库使用口碑较好的mysql进行数据的存储,开源的mysql等技术的使用,相对来说体积较小,服务稳定,减少系统开发成本费用,通过数据库表的E-R实体关系图建立了表单与表单之间的连接,区分不同的表单之间的关系,更好的完善数据库的内容;测试方面,通过测试用例检查基于springboot的个人随手记app的设计缺陷和程序存在的错误,在系统测试阶段的过程中,出现了一些问题,例如,注册信息,没有规范用户在注册页面填写信息时输入两次密码,而导致后期登录错误,最后通过多次修改程序和测试解决了问题。最终经过不断的检测、修改,实现项目的稳定,达到了预期的设计效果。
系统整体的功能到达预期的效果,但页面的美化方面还是存在一些不足,例如:APP中的图标过于简洁;wxss页面的渲染布局方面不够完善,人们在使用软件过程中,对某些功能不易找寻,针对此次项目产生的问题,日后将不断改进,使该项目更加完善。
[1]Liu H .Comparative Application of Teaching Methods in C Language and JAVA Programming Courses[J].International Journal of New Developments in Education,2024,6(1):
[2]韩小龙,司珍,吕晓峰,等.基于面向对象编程的Java语言程序设计方法分析[J].集成电路应用,2024,41(01):228-229.DOI:10.19339/j.issn.1674-2583.2024.01.103.
[3]赵旭东.计算机软件开发与设计中Java语言的应用研究[J].信息与电脑(理论版),2023,35(24):31-33.
[4]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.
[5]聂亚.计算机编程语言的选用技巧分析[J].电子技术,2023,52(10):206-207.
[6]尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023,(05):45-47.
[7]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing Information Science,2023,6(9):
[8]袁琳琳.浅析Java语言在计算机软件开发中的应用[J].信息记录材料,2023,24(09):81-83.DOI:10.16009/j.cnki.cn13-1295/tq.2023.09.006.
[9]刘露,郦丽,孙雅文.一个在校大学生消费记账App的设计[J].电脑知识与技术,2023,19(08):62-64.DOI:10.14004/j.cnki.ckt.2023.0381.
[10]Tao Z ,Zhenjiang H .VoiceJava: A Syntax-Directed Voice Programming Language for Java[J].Electronics,2023,12(1):250-250.
[11]王君黛,吕子宸.电纸信息交互式笔记系统设计与实现[J/OL].中国教育技术装备,1-5[2024-04-20].http://kns.cnki.net/kcms/detail/11.4754.T.20220922.1820.007.html.
[12]刘春爽.Android平台手写笔记系统的设计与实现[D].北京邮电大学,2022.DOI:10.26969/d.cnki.gbydu.2022.000882.
[13]黄张昊,刘星含,范龙辉,等.一个轻记账本的设计与实现[J].电脑知识与技术,2022,18(11):43-44+47.DOI:10.14004/j.cnki.ckt.2022.0707.
[14]贾峰.微服务框架在云笔记系统中的应用[J].现代计算机,2022,28(01):117-120.
[15]林荣杭,刘小英.基于Flutter的云笔记系统[J].信息技术与信息化,2021,(10):41-43+46.
[16]周瑛,刘仁芬,李娜.云笔记系统的设计与实现[J].长江信息通信,2021,34(08):63-65.
[17]董航.基于记账管理APP系统需求分析与设计[J].辽宁高职学报,2020,22(10):88-91+101.
[18]田黄.随手科技个人财务管理APP产品竞争战略研究[D].广西师范大学,2020.DOI:10.27036/d.cnki.ggxsu.2020.000440.
[19]厉丹,田隽,张丽娜.学生笔记记录分享平台的开发[J].福建电脑,2019,35(08):83-85.DOI:10.16707/j.cnki.fjpc.2019.08.028.
[20]毛静.云笔记系统的设计与实现[J].电子设计工程,2019,27(02):34-37.DOI:10.14022/j.cnki.dzsjgc.2019.02.008.
至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。
此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。
最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!
免费领取源码,请关注+点赞+收藏+私信博主,谢谢!