动吧旅游生态系统
项目简介
概述
动吧旅游生态系统,应市场高端用户需求,公司决定开发这样的一套旅游系统,此系统包含旅游电商系统(广告子系统,推荐子系统,评价子系统,商品子系统,订单子系统,…),旅游分销系统(分销商的管理),旅游业务系统(产品研发,计调服务,系统管理,..)
技术架构
项目分层架构
本项目应用层基于MVC设计思想,进行分层架构设计,其核心目的是将复杂问题简单化,实现各司其职,各尽所能.然后基于“高内聚,低耦合”的设计思想,再实现各对象之间协同,从而提高系统的可维护性,可扩展性。
- 1.开放接口层:可直接封装 Service 方法暴露成 RPC (远程过程调用)接口;也可通过 Web 封装成 http 接口;同时也可进行网关安全控制、流量控制等。
- 2.终端显示层:负责各个端的模板渲染并显示。当前主要是 thymeleaf 渲染,JS 渲染,移动端展示
- 3.Web请求处理层:主要是对访问控制进行转发,请求参数校验,响应结果处理等
- 4.Service 层:相对具体的业务逻辑服务层(核心业务,扩展业务)。
- 5.Manager 层:通用业务处理层,它有如下特征:
- 1) 对第三方平台封装的层,预处理返回结果及转化异常信息;
- 2) 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理;
- 3) 与 DAO 层交互,对多个 DAO 的组合复用。
- 6.DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
- 7.外部接口或第三方平台:包括其它部门RPC开放接口,基础平台,其它公司的 HTTP 接口
总之:分层的目的就是将复杂问题进行拆解,然后分而治,进而提高系统的可扩展性以及可维护性。
API应用架构
技术整合
环境准备
数据库初始化
IDE配置初始化(STS)
统一工作区编码(UTF-8)
统一JDK版本(JDK1.8)
统一MAVEN配置(3.6.3)
创建spring boot项目
项目名称:CGB-DB-SYS-V3.01
组ID: com.cy
打包方式:jar
添加项目依赖
lombok
Spring Boot Actuator
JDBC API
MySQL Driver
MyBatis Framework
Thymeleaf
Spring Web
修改配置文件
在application.yml文件中添加如下配置(server,datasource,mybatis,mvc)
#server
server:
port: 80
servlet:
context-path: /
tomcat:
max-threads: 1000
#spring
spring:
datasource:
url: jdbc:mysql:///dbsys?serverTimezone=GMT%2B8&characterEncoding=utf8
username: root
password: 1234
thymeleaf:
prefix: classpath:/templates/pages/
suffix: .html
cache: false
#mybatis
mybatis:
configuration:
default-statement-timeout: 30
map-underscore-to-camel-case: true
mapper-locations:
- classpath:/mapper/*/*.xml
#lOG
logging:
level:
com.cy: DEBUG
首页初始化
定义页面初始资源
- 将js、css、images相关资源拷贝到项目static目录
- 将pages页面拷贝到项目的templates目录
创建页面Controller
package com.cy.pj.sys.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping("/")
@Controller
public class PageController {
@RequestMapping("doIndexUI")
public String doIndexUI(){
return "starter";
}
}
启动项目进行测试
启动tomcat,在地址栏输入http://localhost/doIndexUI
页面访问流程分析,如下图所示(了解):