基于Spring Boot的IT技术交流和分享平台的设计与实现

基于Spring Boot的IT技术交流和分享平台

的设计与实现

摘 要
我国科学技术的不断发展,计算机的应用日渐成熟,其强大的功能给人们留下深刻的印象,它已经应用到了人类社会的各个层次的领域,发挥着重要的不可替换的作用。信息管理作为计算机应用的一部分,使用计算机进行管理,具有非常明显的优点,利用网络的优势特开发了本基于Spring Boot的IT技术交流和分享平台。

本IT技术交流和分享平台是基于Spring Boot框架,采用Java技术,MYSQL数据库进行开发的。系统具有灵活的一体化设计方式,圆满完成了整个系统的界面设计。本系统实现了用户功能模块和管理员功能模块两大部分,通过该系统用户可以快速进行IT技术交流和分享,管理员可登录系统后台对系统进行全面管理,确保系统正常稳定的运行。系统功能齐全,符合用户IT技术交流和分享的需求。

本文主要首先介绍了课题背景、设计原则和研究内容,系统采用的相关技术及开发平台,接着对本基于Spring Boot的IT技术交流和分享平台进行系统需求分析和设计,包括系统的功能模块,数据库的设计,系统结构以及系统界面设计等,最后对进行系统测试,完成本篇论文。

关键词:IT技术交流, Spring Boot框架, Java技术,MYSQL数据库

Abstract

With the continuous development of science and technology in our country, the application of computers is becoming more and more mature, and its powerful functions have left a deep impression on people. It has been applied to all levels of human society and plays an important and irreplaceable role. As a part of computer application, information management uses computers for management, which has very obvious advantages. Taking advantage of the network, the IT technology exchange and sharing platform based on Spring Boot has been specially developed.

This IT technology exchange and sharing platform is developed based on the Spring Boot framework, using Java technology and MYSQL database. The system has a flexible integrated design method, which successfully completes the interface design of the entire system. This system implements two major parts: user function module and administrator function module. Through this system, users can quickly communicate and share IT technology. The administrator can log in to the system backend to fully manage the system to ensure the normal and stable operation of the system. The system has complete functions and meets the needs of users for IT technology exchange and sharing.

This article mainly introduces the subject background, design principles and research content, the related technology and development platform used by the system, and then analyzes and designs the system requirements for the IT technology exchange and sharing platform based on Spring Boot, including the functional modules of the system and the database Design, system structure and system interface design, etc. Finally, perform system testing to complete this thesis.

Key words: IT technology exchange, Spring Boot framework, Java technology, MYSQL database

1 绪论

1.1 研究背景

在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中[3]。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。

一个行业发展起来,自然会诞生相关的交流和分享网站,随着计算机技术的发展,IT技术学习的人越来越多,人们在进行IT技术交流和分享的时候,都是基于线下好友间的沟通交流、互相分享,有时间地点的限制,在当今社会已经无法满足用户的需求,针对这一情况,结合目前计算机技术的发展,特开发了本基于Spring Boot的IT技术交流和分享平台。在互联网的迅速发展下,局域网的普及,为建立IT技术交流和分享平台的设计与实现提供了基础条件。IT技术交流和分享平台与传统的交流和分享方式相比,有着无法比拟的优点,网络共享、传播速度快的特点,用户可以随时随地进行IT技术交流和分享,同时管理员通过计算机对系统信息进行管理,大大提高了IT技术交流和分享效率。

1.2 设计原则

在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:

(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。

(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。

(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。

(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。

(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。

1.3 研究内容

在本次毕业设计中,使用了MYSQL数据库,JAVA编程语言进行系统的开发。本论文一共分为七章,具体内容如下:

第一章介绍了本文的研究背景,设计原则以及研究内容。

第二章介绍了开发基于Spring Boot的IT技术交流和分享平台所采用的技术,开发环境。

第三章对基于Spring Boot的IT技术交流和分享平台进行分析,包括可行性分析,系统功能分析,系统流程分析等。

第四章进行系统的设计,包括系统结构设计,数据库设计等。

第五章介绍系统用户模块和管理员模块界面的详细展示。

第六章介绍了系统的测试。

第七章对系统进行最后的总结工作。

2 系统关键技术

2.1 JAVA技术

Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言------Java[15],最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

2.2 B/S结构

在早期的程序开发中,使用得最多的莫过于C/S架构了,现在的生活中软件在生活的各个方面落地,使用了C/S架构开发出来的软件也是不在少数的,比如企业日常办公使用到的微软的OFFICE软件,我国自己研发的文档处理软件WPS,还有娱乐软件腾讯的QQ,腾讯的微信,以及电脑上安装的杀毒软件金山杀毒软件,瑞金杀毒软件等都是C/S架构[6]。但是在Internet网络盛行之后,鉴于大家对数据信息共享的需求,在原来的C/S架构上进行了升级改进之后,有了现在的主流架构B/S架构,B/S架构就是在C/S架构上多了一个浏览器,让原来的直接访问服务器的方式,变成了通过浏览器去访问服务器[12]。充分运用到了当下不断成熟的浏览器技术。也让软件的开发成本以及维护成本降低了。可以说B/S这种新型的架构模式让软件的开发变得便利化。图2.3描述了B/S架构的工作原理。详细见下图。

2.3 MYSQL数据库

MySQL是典型的关系数据库系统,拥有开源免费、稳定、高效等特点,一直是中小型web项目的最佳数据库选择。MySQL作为当今IT领域使用人数最多的开源关系型数据库软件之一,在2018年的数据库使用率排名中位居第二,仅次于目前为止最成功的商业版数据库Orcle[8]。MySQL最大的优势之一就是无偿使用,这也是它成功的关键。

MySQL支持标准化数据库查询语言SQL。MySQL是一款非常适合个人开发者或小型组织开发团体的数据库管理系统,因为它是开源并且免费的,体积小、速度快、成本低以及其最重要的一点开放源码,深受程序设计人员的喜爱,这也让它成为了许许多多中小型开发网站数据库的首选,同时提供了多种开发的连接API。MySQL将数据的存放按照记录之间的关系存放到了不同的表中,减少了数据的冗余并且提高了开发的工作效率。MySQL支持开发中需要用的大型数据库,并能处理数以万计的记录。因为MySQL是开源的软件,所以在项目的预算中的时候不用花费额外的资金,大大降低了开发的总体成本,这也是MySQL数据库在中小型企业和独立的开发者中广泛流行的原因[7]。

2.4 Spring Boot框架

Spring Boot是一个简化程序设置的拥有开箱即用的框架,它主要的优点是根据程序员不同的设置而生成不同的代码配置文件,这样开发人员就不用每个项目都配置相同的文件,从而减低了开发人员对于传统配置文件的时间,提高了开发效率。它内嵌Tomcat服务器,简化了Maven的配置,自动配置Spring,通过这样的框架,开发人员就不用头疼各种配置文件,可以减少时间,同时提高了代码的整体性,使开发人员工作效率大大提高。

3 系统分析

3.1 可行性分析

为了研究问题并确定问题是否能够在最短的时间内以最低的成本解决,经过对该项目的详细调查研究,初步准备了系统的实施报告,面临的问题和解决方案在软件开发方面进行了初步设计和合理安排,确定了开发目标。

3.1.1 技术可行性

开发程序选择的是面向对象的,功能强大的,简单易用的Java程序设计语言,数据库的开发工具使用到了Mysql数据库,由于自己之前接触过一些简单的程序开发方面的设计作品,所以对于数据库的操作技巧也有一定的积累。另外,程序开发需要在自己电脑上安装的软件并不多,在win7操作系统的大环境下,能够完全搭建好程序开发的操作环境,比如Mysql数据库工具,以及处理程序图片的Photoshop工具等都能安装在自己的电脑上。总的说来,开发这个程序在技术上是可以实现的。

3.1.2 操作可行性

本基于Spring Boot的IT技术交流和分享平台界面风格以简洁优雅的形式呈现。使用方便,无需任何软件安装,操作简单;根据许可使用并提供多种查询手段,操作方面具有很高的可行性。

3.1.3 经济可行性

基于Spring Boot的IT技术交流和分享平台数据库选用Mysql数据库,使用的浏览器都是大众浏览器,这些软件是不需要收费就能进行下载安装操作的。在系统开发的硬件选择上面,我使用的是自己的笔记本进行开发操作。因此在进行系统开发时,经济上面无需额外支出。开发出来的程序可以提高IT技术交流和分享效率,带来的经济效益比较高,系统开发的投入产出比很可观。

3.1.4 法律可行性

本基于Spring Boot的IT技术交流和分享平台开发的所有技术资料都为合法,知识产权问题不会发生在开发过程中,而且没有抄袭其他相关系统,不会有侵犯版权的问题。所以在开发过程中不会涉及法律责任。

从上面几个部分的可行性分析得出,这次开发的基于Spring Boot的IT技术交流和分享平台在开发上面没有什么大问题,值得开发。

3.2系统性能分析

(1)数据安全:存储问题的系统数据,例如在线隐私测试,以确保数据安全。在设计网站时,必须采取安全措施来解决潜在的安全问题。

(2)用户友好性:由于用户权限的所有相关业务流程的功能和所有相关信息的一部分可以被集成到一个统一的用户界面,运行效率和易用性为运营商显着提高,使系统灵活。

(3)延伸性:由于用户需求的不断变化,基于Spring Boot的IT技术交流和分享平台必然涉及到业务更新及扩展,所以要求在刚开始设计的时候就应该考虑良好的延伸性方案。

3.3系统功能分析

本基于Spring Boot的IT技术交流和分享平台主要分管理员和用户两大功能模块,下面将详细介绍管理员和用户分别实现的功能。

3.3.1用户功能分析

用户进入本系统可查看系统信息,包括首页、笔记分享,注册登录后主要功能模块包括个人中心、笔记分享管理、笔记类型管理以及我的收藏管理,用户用例图如图3-1所示。

3.3.2管理员功能分析

管理员登录后可对系统进行全面管理,管理员主要实现的功能模块包括个人中心、用户管理、笔记分享管理、笔记类型管理以及系统管理五大部分,管理员用例图如图3-3所示。

3.4 系统结构分析

3.4.1逻辑结构

基于Spring Boot的IT技术交流和分享平台的特点就是利用Browser/Server(B/S)结构,为用户提供了一个便利的IT技术交流和分享的平台,让用户只要上网就可以实现IT技术交流和分享。本系统的网络应用原理示意图如图3-3所示:

3.4.2物理结构

系统实现的物理结构如图3-4所示:

3.5 系统流程分析

3.5.1注册流程

未有账号的用户可进行注册操作,用户注册流程图如图3-5所示。

3.5.2登录流程

登录模块主要满足了管理员和用户的权限登录,用户登录流程图如图3-6所示。

4 系统设计

4.1系统概要设计

基于Spring Boot的IT技术交流和分享平台并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4-1就是开发出来的程序工作原理图。

4.2系统结构设计

系统结构设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。本基于Spring Boot的IT技术交流和分享平台主要管理员模块以及用户模块两大部分,系统结构图如图4-1所示。

4.3 数据库设计

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,还是需要多花时间进行考虑,最终设计出配套程序的数据库出来。

4.3.1 数据库概念结构设计

程序设计是离不开对应数据库的设计操作的,这样的做法就是减少数据对程序的依赖性,所以数据库的设计也是需要花费大量的日常时间来进行设计的,在设计中对程序开发需要存储的数据信息进行实体划分,先确认实体,然后设计实体的属性等操作,这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度,开发人员也可以使用相应的工具来进行E-R模型设计,现在市面上设计E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,还有微软的Visio绘图工具。为了简便起见,本程序在设计E-R模型的时候,就选用了微软的Visio这款功能强大,操作便利的绘图工具。

数据库概念结构设计通俗来说就是把前面所做的需求分析报告转变为抽象的信息结构,数据库概念结构设计相比数据模型要更加稳定、抽象和独立。它的特点有方便修改、能够容易理解、转换成层次、关系等数据模型变得更加容易,对现实世界反映客观真实充分等。数据库设计这块,在描述概念模型工具的选择上通常是用E-R模型(实体-联系模型)表现出来。本基于Spring Boot的IT技术交流和分享平台的E-R图如下所示:

(1)管理员信息实体属性图如图4-4所示:

(2)用户信息实体属性图如图4-5所示:

(3)笔记信息实体属性图如图4-6所示:

(4)笔记类型信息实体属性图如图4-7所示:

4.3.2 数据库逻辑结构设计

数据库的逻辑结构的设计需要将前面概念设计得到的E-R图转换成关系模型。接着就是优化关系模型,逻辑结构设计的过程表现如下

图4-10 逻辑结构设计的过程

优化关系模型有许多方式,这些方式包括了对数据之间的依赖进行确定;处理关系模式间的数据依赖,一些多余的联系需要及时清理;要明白和界定各个关系模式在第几范式;关系模式的分解或合并处理也是必要的。设计中对关系模型的优化就可以按照上述提示进行操作。

本次开发的基于Spring Boot的IT技术交流和分享平台它的数据结构就比较清晰明了。开发出来的基于Spring Boot的IT技术交流和分享平台的后台数据库是由许多的数据表组成的,下面我们将选取一部分数据表进行具体描述:

表4-1 users管理员信息表

|----------|--------------|----------|------|
| 字段名 | 数据类型 | 是否允许空 | 字段含义 |
| id | int(11) | NOT NULL | 编号 |
| username | varchar(100) | NULL | 用户名 |
| password | varchar(100) | NULL | 密码 |
| role | varchar(100) | NULL | 角色 |
| addtime | timestamp | NULL | 新增时间 |

表4-2 yonghu用户信息表

|--------------|-----------------|----------|------|
| 字段名 | 数据类型 | 是否允许空 | 字段含义 |
| id | bigint(20) | NOT NULL | 编号 |
| addtime | timestamp | NULL | 创建时间 |
| yonghuming | ` varchar(200) | NULL | 用户名 |
| mima | ` varchar(200) | NULL | 密码 |
| xingming | ` varchar(200) | NULL | 姓名 |
| xingbie | ` varchar(200) | NULL | 性别 |
| shouji | ` varchar(200) | NULL | 手机 |
| youxiang | ` varchar(200) | NULL | 邮箱 |
| shenfenzheng | ` varchar(200) | NULL | 身份证 |
| zhaopian | ` varchar(200) | NULL | 照片 |

表4-3 bijifenxiang笔记分享信息表

|-----------------|-----------------|----------|--------|
| 字段名 | 数据类型 | 是否允许空 | 字段含义 |
| id | bigint(20) | NOT NULL | 编号 |
| addtime | timestamp | NULL | 创建时间 |
| `bijimingcheng | ` varchar(200) | NULL | 笔记名称 |
| bijileixing | ` varchar(200) | NULL | 笔记类型 |
| bijibiaoti` | ` varchar(200) | NULL | 笔记标题 |
| bijitupian | ` varchar(200) | NULL | 笔记图片 |
| bijifujian | ` varchar(200) | NULL | 笔记附件 |
| bijineirong | ` varchar(200) | NULL | 笔记内容 |
| faburiqi | ` varchar(200) | NULL | 发布日期 |
| yonghuming | ` varchar(200) | NULL | 用户名 |
| xingming | ` varchar(200) | NULL | 姓名 |
| thumbsupnum | int(11) | NULL | 赞数 |
| crazilynum` | int(11) | NULL | 踩数 |
| clicktime | datetime | NULL | 最近点击时间 |
| clicknum | int(11) | NULL | 点击次数 |

感兴趣的小伙伴可私信我获取更多资源!

相关推荐
V+zmm1013429 分钟前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
xmh-sxh-13141 小时前
常用的缓存技术都有哪些
java
搬码后生仔1 小时前
asp.net core webapi项目中 在生产环境中 进不去swagger
chrome·后端·asp.net
凡人的AI工具箱1 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
AiFlutter1 小时前
Flutter-底部分享弹窗(showModalBottomSheet)
java·前端·flutter
J不A秃V头A2 小时前
IntelliJ IDEA中设置激活的profile
java·intellij-idea
starstarzz2 小时前
计算机网络实验四:Cisco交换机配置VLAN
网络·计算机网络·智能路由器·vlan·虚拟局域网
DARLING Zero two♡2 小时前
【优选算法】Pointer-Slice:双指针的算法切片(下)
java·数据结构·c++·算法·leetcode
Lx3522 小时前
Pandas数据重命名:列名与索引为标题
后端·python·pandas