5系统实现系统实现部分就是将系统分析系统设计部分的内容通过编码进行功能实现以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析系统设计最主要还是进行功能系统操作逻辑的设计也包括了存储数据的数据库方面的设计等内容系统实现就是一个最终的实施阶段将前面的设计成果进行物理转化最终出具可以运用于实际的软件系统。5.1 学生用户管理如图5.1显示的就是学生用户管理页面此页面提供给管理员的功能有对用户信息进行查询添加删除以及批量删除操作。图5.1 学生用户管理页面5.2 教师管理如图5.2显示的就是教师管理页面管理员可以对教师信息进行添加修改删除查询操作。图5.2 教师管理页面5.7 小程序首页如图5.4显示的就是小程序首页页面学生用户可以看到公告信息以及下面的导航栏。图5.7 小程序首页页面5.8 付费课程如图5.4显示的就是付费课程页面这里主要显示当前学生用户已经付费过的课程。图5.8 付费课程页面2相关技术2.1微信小程序介绍小程序是一种新的开放能力开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播同时具有出色的使用体验。尤其拥抱微信生态圈让微信小程序更加的如虎添翼发展迅猛。2.3uni-app介绍uni-app 是一个使用Vue.js开发所有前端应用的框架开发者编写一套代码可发布到iOS、Android、Web响应式、以及各种小程序微信/支付宝/百度/头条/QQ/钉钉/淘宝、快应用等多个平台。DCloud公司拥有800万开发者、数百万应用、12亿手机端月活用户、数千款uni-app插件。uni-app在手做啥都不愁。即使不跨端uni-app也是更好的小程序开发框架更好的App跨平台框架、更方便的H5开发框架。不管类型安排什么样的项目你都可以快速交付不需要转换开发思维、不需要更改开发习惯。2.3MySQL数据库介绍开发的程序面向用户的只是程序的功能界面让用户操作程序界面的各个功能那么很多人就会问用户使用程序功能生成的数据信息放在哪里的这个就需要涉及到数据库的知识了一般来说程序开发通常就会对常用数据存储工具的特点进行分析比对比如MySQL数据库的特点与优势Access数据库的特点与优势Sqlserver数据库的特点与优势等最终看哪个数据库与需要开发的程序比较匹配也符合程序功能运行需要的数据存储要求比如需要开发商业级别的程序存储的数据对数据库要求较高可以选用Oracle如果只是比较简单的程序对数据存储没有过多要求可以选用微软旗下的Access当开发程序要求数据库占用空间小并能满足程序数据存储要求时就可以考虑Oracle公司从瑞典MySQL AB公司在很早之前就收购过一个关系型数据库它是现在的MySQL数据库。在数据库工具里面它是最受认可的其中一个应用软件。需要说明的信息就是本程序的开发就运用到了此数据库。它将程序数据通过使用不同的数据表格进行保存在增加了程序数据的存储速度的时候也提高了数据库的灵活性。 图2.3展示的就是MySQL的架构图。图2.3 MySQL数据库架构图2.4 SSM框架介绍SSM框架是SpringSpring MVCMyBatis的缩写这个是继SSH之后目前比较主流的Java EE企业级框架适用于搭建各种大型的企业级应用系统。1.Spring简介Spring是一个开源框架Spring是于2003年兴起的一个轻量级的Java开发框架由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言任何Java应用都可以从Spring中受益。简单来说Spring是一个轻量级的控制反转IoC和面向切面AOP的容器框架。A.控制反转IOC是什么呢IOC:控制反转也叫依赖注入。利用了工厂模式将对象交给容器管理你只需要在spring配置文件总配置相应的bean以及设置相关的属性让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候spring会把你在配置文件中配置的bean都初始化好然后在你需要调用的时候就把它已经初始化好的那些bean分配给你需要调用这些bean的类假设这个类名是A分配的方法就是调用A的setter方法来注入而不需要你在A里面new这些bean了。B.面向切面(AOP)又是什么呢首先需要说明的一点AOP只是Spring的特性它就像OOP一样是一种编程思想并不是某一种技术,AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候OOP则显得无能为力。也就是说OOP允许你定义从上到下的关系但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中而与它所散布到的对象的核心功能毫无关系。在OOP设计中它导致了大量代码的重复而不利于各个模块的重用。将程序中的交叉业务逻辑比如安全日志事务等封装成一个切面然后注入到目标对象具体业务逻辑中去。实现AOP的技术主要分为两大类一是采用动态代理技术利用截取消息的方式对该消息进行装饰以取代原有对象行为的执行二是采用静态织入的方式引入特定的语法创建“方面”从而使得编译器可以在编译期间织入有关“方面”的代码。2.Spring MVC简介Spring MVC属于Spring Framework的后续产品已经融合在Spring Web Flow里面它原生支持的Spring特性让开发变得非常简单规范。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色这种分离让它们更容易进行定制。3.MyBatis简介MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access ObjectsDAOMyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射将接口和Java的POJOsPlain Old Java Objects普通的Java对象映射成数据库中的记录。可以这么理解MyBatis是一个用来帮你管理数据增删改查的框架。