Elementui_day02

1. maven多模块搭建

1.1 搭建多模块的好处

1. 方便维护(代码增加,拆分越细,越好维护)

2. 有些公共的内容(BaseDomain.BaseService...)除了这一个项目可以使用,其他项目也可以使用

3. 如果有些代码不希望任何人都可以修改,也可以把这些内容单独抽取出来,放到一个模块里面去

4. 如果不去拆分项目,所有业务的增加,代码越来越多,pom.xml越来越长,导致编译也变得越来越久

1.2 搭建多模块

模块名

放那些内容

basic-util

工具类:Ajaxresult PageList StringUtils

basic-core

基础核心:核心实现 baseMapper baseService baseDomain .....

crm1-common

项目对应的公共东西,domian,query

crm1-mapper

映射器,*Mapper.java *Mapper.xml

crm1-service

业务模块

crm1-web  -- applicationContext-mvc

web模块提供数据(接口层)

1.3 代码放的位置

basic_core: basedomain baseService baseMapper baseServiceImpl

basic_util: ajaxResult pageList

crm_comomon: department departmentQuery

crm_mapper: DepartmentMapper.java

crm_service:IDepartmentService DepartmentServiceImpl

crm_web: DepartmentController

1.4 引用关系

crm_web -->crm_service

crm_service-->crm_mapper

crm_mapper-->crm_common

crm_common-->basic_core

basic_core->basic_util

1.5 配置文件

web.xml -->crm_web

applicationContext-mvc.xml-->crm_web

applicationContext.xml -->crm_service

db.properties-->crm_service/crm_mapper

1.6 导入jar包关系

crm_parent: 公共的spring的包

crm_web: spring-web spring-webmvc

crm_service: 引用crm_mapper

crm_mapper: mybatis dbcp 等

1.7 写代码满足的要求

(1) 开闭原则:

对扩展开发

对修改关闭 -- 一些公共的内容

(2) 低耦合 高内聚

低耦合: 模块和模块直接,类和类之间 耦合度要低

高内聚: 指的类里面的方法,它应该达到高内聚的效率

save -->保存的使用 代码30-40行

2. restfull风格

2.1 使用restfull风格的好处

以前我们在发送的请求 常用 get/post, 但是现在发送请求,就要增加 delete/put/options

以前发送请求:

删除: get(post) /deleteProduct?id=1 (动作+资源在一起)

现在删除: --restfull的风格 好处:不会暴露资源

delete(动作) (/product/1 资源) -->动作+资源

前后端分离的项目:

采用restful的风格来交互,使用json来传递数据

2.2 restfull风格规范

put -- 新增 (修改)

post --修改(新增)

get --查询

delete --删除

patch --查询

head --头信息(不用)

3. Swagger用法

3.1 swagger有什么用

swagger:可以根据controller生成接口文档

3.2 使用swagger步骤

(1) 导入jar包

<!--swagger配置-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox.version}</version>
</dependency>

(2)写一个配置类

扫描controller 生成文档

@Configuration   //相当于写了spring配置 applicationContext.xml

@EnableWebMvc   //开启webmvc

@EnableSwagger2 //开启swagger

//扫描个包下面controller来生成接口描述

@ComponentScan(basePackages="cn.itsource.crm.web.controller")
public class SwaggerConfig {
//<bean class=""></bean>
@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(this.apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("cn.itsource.crm.web.controller"))
.paths(PathSelectors.any())
.build();
}
//描述信息
private ApiInfo apiInfo(){
@SuppressWarnings("deprecation")
ApiInfo info=new ApiInfo(
"itsource20190924crud测试",
"一个完成crud",
"v1",
"http://www.itsource.cn",
"zytest",
"apache",
"http://www.itsource.cn");
return info;
}
}

(3)扫描的配置

<context:component-scan base-package="cn.itsource.crm.web.config"/>

(4)启动测试

http://localhost/swagger-ui.html

4. Postman

4.1 postman是什么

就是一个工具,可以来发送各种http请求,可以用它来测试http协议接口.

postman就是httm协议接口测试工具

5. vue-admin-master模块

导入后

npm install

npm run dev

elementui_day02的更多相关文章

随机推荐

  1. Git详解之协议/速度/安全

    协议概述 Git共享服务的实现方式大致分为四种:文件共享类型.git类型.ssh类型.http类型: 本地协议 本地协议:文件共享类型,是对Git项目,通过文件共享的方式:如NFS.FTP.samba ...

  2. 大数据之Kafka史上最详细原理总结

    Kafka Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实 ...

  3. 【Java并发基础】利用面向对象的思想写好并发程序

    前言 下面简单总结学习Java并发的笔记,关于如何利用面向对象思想写好并发程序的建议.面向对象的思想和并发编程属于两个领域,但是在Java中这两个领域却可以融合到一起.在Java语言中,面向对象编程的 ...

  4. linux实用指令 | 程序员线上排查必知必会linux指令(持续更新中)

    Linux线上排查程序员实用指南 一.乱码问题 二.帮助指令 1. help命令 2. man命令 3. info命令 三.性能监测与优化 1. top命令 参考资源 Linux线上排查程序员实用指南 ...

  5. Gloang Swagger

    功能 自动化生产接口文档 安装 # 安装swaggo get -u github.com/swaggo/swag/cmd/swag # 安装 gin-swagger go get -u github. ...

  6. 学习记录一(Python算数运算符与if语句)

    从网上找到一个Python的学习视频,之前的环境都装好了,今天看的就是算术运算符和变量的命名 其中Python的除法直接就是 / %用于求余 其中还可以进行幂运算**    例如2 ** 3 = 8 ...

  7. String、StringBuilder、StringBuffer区别

    =====================================String=================================★1.它在java.lang包中.String类 ...

  8. ROS机器人之话题(一)

     将消息发布到话题上 首先建立一个basic包(名称自己定)其命令为: 1.创建功能包,应用catkin_create_pkg命令     cd  ~/catkin_ws/src #切换到代码空间,也 ...

  9. js数组冷知识

    省略数组值 在声明数组时,省略一些数组值 let a = [1,,3] //a.length为3 a = [,,] //a.length为2 0 in a //false,a在索引0处没有元素 稀疏数 ...

  10. 介绍Netty

    介绍Netty 概述 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务 ...