SSM框架在毕业论文中经常出现。SSM是三个技术的组合。这三个技术是Spring,SpringMVC,MyBatis。很多学生用这个框架做毕业设计。这个框架做管理系统很方便。管理系统有学生管理,商品管理,图书管理。下面我们讲一讲SSM的各个部分。
Spring是一个大容器。它管理程序里的各个对象。对象之间不直接联系。它们通过Spring联系。这样做的好处是解耦。修改一个部分不影响其他部分。Spring有两个重要功能。这两个功能是IOC和AOP。IOC控制程序里的对象。对象不由程序员创建。对象由Spring容器创建。AOP处理一些公共操作。这些操作是日志记录,权限检查。把这些操作单独拿出来。业务代码就变得干净。
SpringMVC处理用户的请求。用户用浏览器访问网站。浏览器发出一个请求。这个请求到达服务器。SpringMVC接收这个请求。它找到对应的处理方法。处理方法在控制器里。控制器是一个Java类。类里有具体的方法。方法处理完请求。方法返回一个结果。结果可能是数据。结果也可能是一个网页。SpringMVC把结果交给用户。用户看到网页或数据。
MyBatis操作数据库。程序数据存在数据库里。数据库有MySQL,SQLServer。MyBatis把Java对象和数据库表连起来。程序员写SQL语句。SQL语句操作数据库。SQL语句可以查询数据。SQL语句可以增加数据。SQL语句可以修改数据。SQL语句可以删除数据。MyBatis把数据库结果变成Java对象。Java对象方便程序处理。
我们用SSM做一个学生管理系统。系统管理学生信息。学生信息有学号,姓名,年龄。我们先搭环境。环境需要JDK,开发工具,数据库。JDK版本选1.8。开发工具用IDEA或Eclipse。数据库用MySQL。我们在工具里创建项目。项目是一个Maven项目。Maven管理项目需要的包。我们在配置文件里写依赖。依赖就是其他技术提供的包。我们写Spring的依赖。我们写SpringMVC的依赖。我们写MyBatis的依赖。我们还需要数据库驱动的依赖。我们还需要其他工具的依赖。
我们创建数据库。数据库名叫student_db。我们创建一张表。表名叫t_student。表里有几个字段。id是主键。id自己增长。sno是学号。name是学生姓名。age是学生年龄。我们在项目里连数据库。连数据库要写配置。配置写在文件里。文件里有数据库地址。文件里有数据库用户名。文件里有数据库密码。
我们开始写代码。代码分好几层。第一层是实体层。实体是一个Java类。类的属性对应表的字段。类名是Student。属性有Integerid,Stringsno,Stringname,Integerage。我们写get和set方法。这些方法读写属性值。
第二层是数据访问层。这一层叫Dao层,也叫Mapper层。这一层接口和数据库说话。我们创建一个接口。接口名是StudentMapper。接口里声明操作方法。方法有增加学生,删除学生,修改学生,查询学生。查询学生可以查一个,可以查所有。我们写接口的SQL实现。实现写在XML文件里。XML文件写SQL语句。SQL语句用标签包起来。插入语句用insert标签。删除语句用delete标签。修改语句用update标签。查询语句用select标签。SQL语句里用#{属性名}拿值。这个值来自方法的参数。
第三层是业务逻辑层。这一层叫Service层。这一层处理业务规则。业务规则是年龄不能小于零。学号不能重复。我们创建一个接口。接口名是StudentService。接口里声明业务方法。我们创建一个类实现这个接口。类名是StudentServiceImpl。这个类调用Dao层的方法。这个类可以加一些判断。比如增加学生前先检查学号。学号存在就不增加。学号不存在就增加。
第四层是控制层。这一层叫Controller层。这一层接收网页请求。我们创建一个类。类名是StudentController。类上写一个注解。这个注解是@Controller。类里的方法处理具体请求。方法上写一个注解。这个注解是@RequestMapping。注解里写请求的路径。比如“/student/list”。方法里调用Service层。Service层返回数据。方法把数据放进一个对象。这个对象叫Model。网页可以从Model拿数据。方法返回一个字符串。字符串对应一个网页文件名。这个网页显示数据。
我们写网页。网页用HTML写。网页里用Thymeleaf技术。Thymeleaf让网页显示Java数据。我们写一个列表网页。网页显示所有学生。网页有一个表格。表格里一行一个学生。网页有一个按钮。按钮可以跳转到增加页面。增加页面有一个表单。表单有学号输入框,姓名输入框,年龄输入框。表单有一个提交按钮。提交按钮把数据发给控制器。控制器保存数据。保存完回到列表页。
我们写修改功能。列表页每一行有一个修改链接。点击链接跳到修改页面。修改页面显示旧数据。旧数据在输入框里。用户修改数据。用户点击提交按钮。新数据发给控制器。控制器更新数据库。更新完回到列表页。
我们写删除功能。列表页每一行有一个删除链接。点击链接发出删除请求。请求带着学生的id。控制器收到id。控制器叫Service层删除。Service层叫Dao层删除。数据库里的记录被删除。删除完刷新列表页。
我们处理一些问题。问题可能是中文乱码。我们在配置文件里加编码过滤器。过滤器把请求和回答的编码设成UTF-8。问题可能是静态资源找不到。我们在配置文件里放行静态资源。静态资源是图片,CSS文件,JavaScript文件。
我们测试系统。我们启动服务器。服务器是Tomcat。我们在浏览器输入地址。地址是http://localhost:8080/项目名/student/list。我们看到学生列表。列表一开始是空的。我们点击增加按钮。我们输入一个学生信息。我们点击提交。我们回到列表页。我们看到新学生。我们点击修改。我们改一下年龄。我们点击提交。列表页年龄变了。我们点击删除。列表页学生不见了。系统基本功能好了。
我们可以加一些高级功能。高级功能是分页。学生多了需要分页。分页一页显示十条。网页有上一页下一页按钮。我们可以加搜索功能。搜索按学号或姓名找学生。我们可以登录功能。用户输入用户名密码。密码对了才能进系统。
SSM框架让这些工作变得简单。Spring管理所有对象。SpringMVC处理网页请求。MyBatis操作数据库。三层结构让代码清楚。每一层做自己的事。修改一层不影响其他层。写毕业论文的时候要讲清楚这些。讲清楚技术原理。讲清楚为什么选这个框架。讲清楚框架怎么用。画一些图。图有系统结构图。图有数据库表图。图有流程图。写一些关键代码。代码不要全写。写一些重要的部分。解释代码做了什么。遇到什么问题。问题怎么解决的。系统有什么优点。系统有什么不足。以后可以怎么改进。
毕业论文要有格式。格式学校有规定。规定封面怎么写。规定摘要怎么写。规定目录怎么排。规定参考文献怎么列。规定致谢怎么写。我们按格式写。内容要真实。内容要自己写。不能抄袭别人的。论文要有自己的思考。思考技术的选择。思考设计的理由。思考实现的过程。思考结果的验证。论文通过答辩。大学生活就结束了。