黄文翔,潘晓衡
(东莞理工学院计算机科学与技术学院,广东东莞,523808)
Bootstrap是当前Web技术逐渐成熟的时期备受前端开发人员欢迎的Html、CSS和JS框架。主要用于开发响应式布局、移动设备优先的Web系统页面。其实现目标是使页面能在主流的桌面和移动设备浏览器上都能获得足够流畅和优秀的展示及响应效果。Bootstrap是完全开源的,其源码是基于CSS预处理脚本Less和Sass开发的,研发人员可以采用预编译的CSS文件快速设计,也可以从源码定制自己需要的样式。
SpringBoot是基于Spring的4.0版本设计的,承载了原有Spring框架的优秀基因,为简化Spring项目配置而生,能轻松地创建独立的、可生产的、基于Spring的且能直接运行的应用程序。SpringBoot大大提高了Web程序开发者的开发效率和代码的规范性。SpringBoot目前在JavaWeb的开发中得到了广泛的应用。MyBatis做为数据持久层框架,支持动态SQL,而且非常便于和SpringBoot集成,是SpringBoot项目中经常选用的持久层框架。同时,本文使用了Mybatis的逆向工程插件MybatisGenerator,本插件允许开发者通过配置文件自动连接数据库并生成持久层代码,该插件稳定性高,加快开发效率和持久层更新效率。
该桌面移动一体化的旅游平台主要包括总体设计、前台设计和后台设计。总体设计采用分层架构思想来设计,使其具有良好的扩展性,易于开发人员的开发与维护。前端设计设计主要面向用户设计,提供便捷地酒店服务和机票订票服务。后台设计面向管理人员,通过信息化和结构化的管理,提升了效率和较少劳动成本。
基于SpringBoot的桌面移动一体化的旅游平台,有机结合MVC(模型-视图-控制)思想及三层架构(视图层、业务逻辑层、数据访问层)的设计模式,具体又分为视图层、控制层、业务层、持久层和数据层。其中视图层是用户交互的页面,主要通过Bootstrap,Ajax和Thymeleaf等技术去实现,Bootstrap用户快速构建前端页面,并实现响应式网页设计, 根据不同的屏幕尺寸进行重新排版和缩放,无论是移动端还是桌面端都有一个良好的体验,Ajax用于前端向后端请求和接收数据,Thymeleaf是HTML5模板引擎,用于后端数据的渲染展示。控制层位于视图层和业务层之间,使用Controller来完成,负责将来自视图层的请求准确地转发到业务层中对应的业务方法(Bean)处理,并将业务层处理的结果返回给视图层。业务层实现该平台的具体业务逻辑功能。而持久层则完成数据的O-R映射,负责旅游平台的数据访问操作,主要通过Mybatis来完成这些任务。而数据层负责管理该旅游平台的数据,使用MySQL来执行。由此通过层层分工,相互协作,一同实现了整个桌面移动一体化的旅游平台的全部功能。
根据用户的需求,该桌面移动一体化旅游平台合理设计了相应的前台功能。具体包括个人中心模块、酒店服务模块、机票服务模块、博客模块等。其总体设计图如图1所示。
图1 基于SpringBoot的桌面移动一体化的旅游平台前台总体设计
根据旅游服务商的不同需求,该系统的后台向三种不同的工作人员(系统管理员、酒店服务商、飞机服务商)提供了不同的功能。其总体设计如图2所示。
图2 基于SpringBoot的桌面移动一体化的旅游平台后台总体设计
系统管理员主要对用户的信息以及发布的内容进行管理,其具体包括用户信息管理、用户账单管理、用户权限管理、用户博客管理、博客标签管理。
酒店服务商管理面向酒店工作人员,管理酒店的各种信息,包含酒店的旅客的进店离店确认,酒店资源信息变更,用户的交易记录等。
飞机服务商管理面向飞机服务商的管理人员,主要对用户从飞机订票到接送机等一系列活动进行管理。
(1)Bootstrap搭建Web页面,充分应用Bootstrap的响应式设计能力,有效解决了兼容性问题,兼容手机端和PC端;其中还采用富文本编辑器等JS脚本对页面装饰等。
(2)视图层接受前端请求后交给业务层处理再将返回的数据传递给前端进行渲染。
(3)模板引擎Thymeleaf对系统传输至前端的数据进行复杂的渲染操作。
(1)首先使用MybatisGenerator实现持久化的自动生成:需要配置MybatisGenerator和数据库的链接;映射数据库表结构的配置格式;另外Mybatis只生成基本的实体类和基本的数据库操作,如果需要另外添加数据操作,可以采用Mybatis的定义方式进行自定义。
(2)根据MybatisGenerator生成的Mybatis持久层:开发人员可以专注于业务层的编写。
一般按照以下格式进行编写:
@Service标记为Spring MVC的业务层组件。
@Resource/@Autowired注入持久层数据组件。
再进行实际业务编写。
(3)编写好业务层之后,Controller层控制后端和页面的交互,一般按照以下格式编写:
@Controller标记为Spring MVC的控制层组件。
@Resource/@Autowired注入业务组件。
@GetMapping/@PostMapping区分每个业务链接。
具体调用函数,其中还对需要传递给前端的数据,进行封装为DTO实体类(由于大部分数据只需要展示部分即可)。
(4)后端数据库的设计是采用MySQL进行数据的持久化保存。
当今移动互联网发展的大环境下,桌面移动一体化的旅游平台实现了旅游资讯的信息化,具有简便的操作、完善的功能,提高了游客用户旅游体验。平台采用了时下流行的Java后端框架Spring Boot,相较于传统的Java开发,代码的结构更加清晰明了,在多层次上实现了分析、设计、类、方法等的重用。SpringBoot框架自带Tomcat服务器,以及布置好了非常详实和稳健的默认配置,大大加快了项目的开发,将开发的主要的难度集中到了业务处理和前端页面渲染上。