使用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-1 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,通过这样的框架,开发人员就不用头疼各种配置文件,可以减少时间,同时提高了代码的整体性,使开发人员工作效率大大提高。

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

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

图4-2系统功能模块图
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所示:
在这里插入图片描述

图4-4 管理员信息实体属性图
(2)用户信息实体属性图如图4-5所示:
在这里插入图片描述

图4-5 用户信息实体属性图
(3)笔记信息实体属性图如图4-6所示:
在这里插入图片描述

图4-6 笔记信息实体属性图
(4)笔记类型信息实体属性图如图4-7所示:
在这里插入图片描述

图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 点击次数
表4-4 bijileixing笔记类型信息表
字段名 数据类型 是否允许空 字段含义
id bigint(20) NOT NULL 编号
addtime timestamp NULL 创建时间
leixing varchar(50) NULL 类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值