java学习day04---动吧旅游生态系统(1)

1.原型分析

基于用户需求,进行原型设计(基于html+css+js进行静态页面实现)。例如系统登录页面:

系统登录成功页面(例如starter.html)

 

 菜单展示页面

2.技术架构

本项目应用层基于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 接口

总之:分层的目的就是将复杂问题进行拆解,然后分而治,进而提高系统的可扩展性以及可维护性

2.1API应用架构:

整体应用架构

3.技术整合

3.1 环境准备

数据库初始化

启动MySQL客户端并登陆,然后执行
1)set names utf8;
2)source d:/jtsys.sql

说明:假如在mysql客户端查询表中数据,可以先执行set names gbk,否则可能会出现乱码。

IDE配置初始化(STS)

统一工作区编码(UTF-8)
统一JDK版本(JDK1.8)
统一MAVEN配置(3.6.3)

3.2 创建项目

项目名称:CGB-DB-SYS-V3.01
组ID: com.cy
打包方式:jar

添加项目依赖:

 修改配置文件:

在application.properties文件中添加如下配置(server,datasource,mybatis,mvc)

server.port=80

spring.datasource.url=jdbc:mysql:///dbsys?serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

mybatis.mapper-locations=classpath:/mapper/*/*.xml

spring.thymeleaf.prefix=classpath:/templates/pages/
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false

logging.level.com.cy=debug

management.endpoints.web.exposure.include=*

3.3首页初始化:

定义页面初始资源:

1.将js、css、images相关资源拷贝到项目static目录

2.将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";
    }
}

页面访问流程分析,如下图所示:

 4.总结

4.1 重点难点分析

项目需求调研,分析,原型设计,评审?

项目整体应用分层架构及API设计架构?

项目初始化环境配置(数据库,IDE,MAVEN)及运行?

4.2 FAQ分析

项目是如何进行分层设计的?(MVC)。

项目页面是如何设计的? (BootStrap,AdminLTE-网址(adminlte.io))。

客户端向服务端发起一个请求,服务端请求处理的一个过程是怎样的?

原文地址:https://www.cnblogs.com/zl0305/p/13327812.html