图书管理系统框架说明
图书管理系统继续使用微服务框架,使用的技术也将是 Spring 生态圈中的技术。
需求分析
首先,需要知道,在这个图书管理系统中,有哪些功能,为什么要提供这些功能。
对于图书管理系统,存在两个部分,在业务上区分得特别明显。第一个是图书管理员使用的部分,因为图书管理员不能直接操作数据库,可以操作的只能是提供好的应用系统,所以,这个部分是必须存在的,用于管理图书资源。第二个是学生使用的部分,学生存在借阅图书,然后是归还图书,同时还应该存在一种业务,就是延长借书的时间。
然后,我们进行分析。根据上面的描述,可以分成两个模块进行开发。第一个模块,用于图书资源的管理,主要是资源的增删改查。因为在第 16 章的商品模块开发中详细介绍过,所以在本案例中,将不会对这一个部分进行说明。
对于第二个模块,其实我们依旧可以使用第 16 章的技术。但是,在本案例中,还有一些其他的技术可以使用,因此,本章节重点是讲解这个部分。
技术说明
Spring Cloud:在系统中,我们需要搭建分布式系统,这里仍然选择使用 Spring 生态圈中的 Spring Cloud 为主要框架进行搭建。
服务治理 Eureka:在 Spring Cloud 的基础框架中,不可忽略的就是服务治理,可以说是最基础的组件。在 Eureka 中,主要是负责微服务框架中的服务发现、服务治理功能。
数据源访问 JPA:在第 6 章介绍 Spring Boot 操作数据源的时候,讲过三种对数据源操作的方式,其中的 MyBatis 与 JPA 各有优缺点。MyBatis 是一款优秀的持久层框架,而且越来越多的互联网企业开始使用这个框架。但是在企业中,有时候使用 JPA 会让程序看起来更加语义化,同时,在项目中,看不到 XML 文件的使用。因此,在本案例中,不再使用 MyBatis 操作数据源,而是使用 JPA。
RestFul 风格接口:与上一章相同,Spring Cloud 的服务框架是基于 Restful 接口的,在本案例中,均采用 Restful 风格的接口。
数据库 MySQL:选择 MySQL 作为数据库。