温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
Spring_Boot
SMP
框架
实现
图书
管理
系统
时业茂
2023.6电脑编程技巧与维护1概述传统的Spring应用程序虽然已经在很大程度上简化了开发过程,但是依然存在着配置繁琐和依赖设置繁琐的问题,不论是使用Spring MVC技术还是MyBatis技术,都需要创建相关技术所需的配置文件,并且需要导入相关技术使用的各种依赖。Spring Boot是由Pivotal团队提供的全新框架,其设计目的是简化Spring应用的初始搭建及开发过程。使用Spring Boot技术可以让程序开发人员从大量的配置工作中解放出来,专注于业务逻辑代码的编写,从而可以提高开发效率。2总体架构2.1系统使用技术图书管理系统前端界面使用Vue+ElementUI技术来实现,后端服务器中的Controller层使用Spring MVC技术,Service层使用Spring技术,数据访问对象(DAO)层使用MyBatis-Plus技术,并基于Spring Boot技术对SSMP框架进行整合,前端和后端之间的数据交互通过异步JavaScript和XML(Ajax)请求来实现,系统总体架构如图1所示。2.2技术简介Vue是一套用于构建前端用户界面的渐进式框架,基于模型-视图-视图模型(MVVM)的思想实现数据的双 向 绑 定,免 除 原 生JavaScript中 的 文 档 对 象 模 型(DOM)操作,简化前端代码的书写。Element UI是饿了么公司前端开发团队提供的一套基于Vue的网站组件库,用于帮助开发者快速构建网页。Spring MVC是一种基于Java实现模型-视图-控制器(MVC)模式的轻量级Web框架,其主要作用是用来接收前端发过来的请求和数据,然后经过处理并将处理的结果响应给前端,它的优点是使用简单、灵活性强。MyBatis-Plus是基于MyBatis框架基础开发的增强型工具,旨在简化开发、提高效率,具有无侵入、强大的增查改删(CRUD)操作、支持Lambda、支持主键自动生成、内置分页插件等特性。3图书管理系统实现3.1实体类的开发实体类的开发可以通过集成开发环境(IDE)提供的功能自动生成setter/getter方法,但还是略显繁琐且代码不够简洁,可以通过使用lombok技术简化实体类的开发。首先在工程的pom.xml文件中引入lombok的依赖,然后在实体类上加上Data注解即可。Datapublic class Book private Integer id;private String name;private String type;private String description;3.2DAO 层的开发DAO层的开发使用MyBatis-Plus技术来实现,数据源技术使用Druid。(1)在项目的pom.xml文件中导入MyBatis-Plus与Druid对应的starter依赖,由于需要操作MySQL数据库,所以还需要导入MySQL驱动的依赖。作者简介:时业茂(1992),男,学士,研究方向为软件开发;刘卫,通信作者,工程师。基于 Spring Boot 整合 SSMP 框架实现图书管理系统时业茂,颜晓宏,刘卫*(桂林康复疗养中心信息科,广西 桂林541002)摘要:随着计算机技术的发展,各种管理系统的信息化平台层出不穷且日趋完善。基于 Spring Boot技术整合 SSMP(Spring+Spring MVC+MyBatis-Plus)框架开发浏览器/服务器(B/S)架构的图书管理系统,给出了详细的编码实现,并总结了 Spring Boot 整合其他技术的一般解决方案。关键词:Spring Boot 技术;Spring MVC 技术;MyBatis-Plus 技术;图书管理系统图1系统总体架构Vue后端服务器前端页面AjaxElement UIControllerServiceDAOMySQLServer82DOI:10.16184/prg.2023.06.0442023.6电脑编程技巧与维护(2)在项目的application.yml文件中进行数据源和MyBatis-Plus相关配置。spring:datasource:druid:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql:/localhost:3306/ssm_dbusername:rootpassword:mysqladminmybatis-plus:global-config:db-config:table-prefix:tbl_#设置表名通用前缀id-type:auto#设置主键生成策略configuration:log-impl:org.apache.ibatis.logging.stdout.Std-OutImpl#日志输出(3)通过继承MyBatis-Plus的标准通用接口来快速实现单表的CRUD操作。MapperpublicinterfaceBookDaoextendsBaseMapper (4)开启MyBatis-Plus提供的分页功能。MyBatis-Plus提供的分页功能是通过拦截器来实现的,因此需要定义拦截器并将其设置为受Spring容器管控,可以直接在项目的运行入口文件中进行拦截器的定义。Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor()MybatisPlusInterceptor interceptor=new My-batisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationIn-nerInterceptor();return interceptor;3.3Service 层的开发实际的开发过程中需要自己编写业务层的相关方法,因为业务层的方法不可能通用。由于实现的功能比较简单,这里可以通过继承MyBatis-Plus提供的业务层通用接口进行Service层的快速开发。(1)定义业务层接口。public interface IBookService extends IService(2)编写业务层接口的实现类。Servicepublic class BookServiceImpl extends ServiceImpl implements IBookService 3.4Controller 层的开发Controller层使用Spring MVC技术基于Restful(表述性状态转移)风格来进行开发,分成以下两步完成。(1)定义Controller层返回结果的模型类,对后端返回给前端的数据格式进行统一。Datapublic class R private Boolean flag;private Object data;private String msg;public R()public R(Boolean flag)this.flag=flag;public R(Boolean flag,Object data)this.flag=flag;this.data=data;public R(Boolean flag,String msg)this.flag=flag;this.msg=msg;(2)基于Restful风格实现Controller层。RestControllerRequestMapping(/books)public class BookController Autowiredprivate IBookService bookService;PostMappingpublic R save(RequestBody Book book)boolean flag=bookService.save(book);return new R(flag,flag?添加成功:添加失败);DeleteMapping(id)public R delete(PathVariable Integer id)return new R(bookService.removeById(id);PutMappingpublic R update(RequestBody Book book)boolean flag=bookService.updateById(book);832023.6电脑编程技巧与维护return new R(flag,flag?修改成功:修改失败);GetMapping(id)public R getById(PathVariable Integer id)return new R(true,bookService.getById(id);GetMapping(currentPage/pageSize)public R getPage(PathVariable int currentPage,PathVariable int pageSize,Book book)IPage pageBook=new Page(currentPage,pageSize);LambdaQueryWrapper lqw=newLambdaQueryWrapper();lqw.like(book.getName()!=null,Book:get-Name,book.getName();lqw.like(book.getType()!=null,Book:get-Type,book.getType();lqw.like(book.getDescription()!=null,Book:getDescription,book.getDescription();bookService.page(pageBook,lqw);return new R(true,pageBook);4系统主要功能界面4.1图书管理系统主界面在浏览器的地址栏中输入项目的访问地址即可看到图书管理系统的主界面,如图2所示。4.2新增图书界面当单击图书管理系统中的“新建”按钮,可看到新增图书界面,如图3所示。4.3编辑图书界面当单击图书管理系统中对应图书的“编辑”按钮,可看到编辑图书界面,如图4所示。5结语论述了基于Spring Boot框架来整合Spring MVC、Spring、MyBatis-Plus和Druid数据源等技术,并详细介绍了实体层、DAO层、Service层、Controller层的开发,实现了一个界面友好、模块间耦合性低的图书管理系统。可以看到使用Spring Boot框架整合其他技术时,通常需要在工程的pom.xml文件中导入对应技术的starter坐标和根据对应技术的要求在application.yml文件中做配置,然后就可以在项目中使用对应的技术来开发程序了。参考文献1(美)克雷格 沃斯(Craig Walls).Spring实战M.6版.张卫滨,吴国浩,译.北京:人民邮电出版社,2022.2(美)克雷格沃斯(Craig Walls).Spring Boot实战M.丁雪丰,译.北京:人民邮电出版社,2016.3(美)瓦林(Geoffroy Warin).精通Spring MVC 4M.张卫滨,孙丽文,译.北京:人民邮电出版社,2017.图2图书管理系统的主界面图3新增图书界面图4编辑图书界面84