1 完成Maven版本的ssm(掌握)

步骤

(1) 创建maven web项目

(2)在pom.xml 导入 依赖的jar包 (ssm)

(3)在配置文件

web.xml / applicationContext.xml /applicationContext-mvc.xml

db.properties log4j.properites

(4)搭建 service 层 mapper层 controller层

(5)测试

2 抽取一些公共的内容(掌握)

(1)抽取BaseMapper

把公共的crud方法抽取到BaseMapper里面

(2)抽取IBaseService 和 BaseServiceImpl

把公共的crud方法抽取到BaseService里面 通过BaseServiceImpl去实现BaseService里面方法

(3)抽取BaseDomain

抽取公共id

3 maven项目的分模块开发

3.1 为什么需要分模块开发(了解)

以前 ssm 结构:

不好的地方:

(1)随着业务的增加, mapper 或者 service类 越来越多 ,项目越来越庞大,项目有点臃肿 -->拆分多个模块

(2)项目代码越来越多, 构建 或者编译, 变得很慢很慢 -->拆分

(3)有些内容,公共的内容 ,有很多项目都可能使用,有必要-- 抽取到公共maven模块

(4)有些内容, 不想让每个人都可以修改 – 抽取到公共的maven模块 util

(5)随着项目业务需求的怎么 ,pom.xml的内容也会变得很长

一般中大型项目 都在使用分模块开发

3.2 什么是分模块开发

把以前的一个模块 (一个项目) 拆分成多个模块

3.3 怎么去分模块开发(掌握)

写项目写代码 尽量满足下面内容:

(1)开闭原则

对扩展开放

对修改关闭 – 公共的不要乱修改

(2)低耦合: 尽量的分层开发 service mapper controller --为了维护

高内聚: 比如一个方法 (方法就应该完成一个方法该干的事情 save ) --最多40行


拆分:

按照层次结构来拆分

业务功能拆分 – 电商 订单(order) 支付(pay) 物流 用户中心

(1)代码拆分

basic-util 工具类

basic-core 公共内容

crm-common 具体项目公共内容

crm-mapper 项目里面具体mapper

crm-service 项目里面service类

crm-web 项目的controller层

pss-common

(2)配置文件拆分

web.xml applicationContext-mvc.xml -->crm-web模块

applicationContext.xml–crm-service模块

4 restful风格(理解)

前端代码 —> 后端代码进行交互 , 交互的时候,前台代码(axios)发送请求到后端代码

axios --> get/post/put/delete/patch

4.1 restful风格理解

<a href="/xxx"> --->get
<form method="post">-->post
ajax --> get/post
除了get/post以外 还支持其他请求 put/delete/patch  --->http协议扩展出来

没有restfull以前:
	/addUser?name='xiaoping'&age=38  -- get
	/delete?id=1
	

restful风格: 传输请求风格写法   -- http get/post/patch/put/delete  完成增删改查

put动作 + /user(资源路径) {"name":"xiaozhaozhao","age":28}  --新增
post动作 + /user(资源路径) {"name":"xiaozhaozhao","age":28} --修改
delete 动作 +/user/1   -->表示删除id为1的用户
get 动作 + /user/10  -->查询id为10的用户
patch 动作 + /user  -->批量查询 

为什么要使用restfull
  restfull 安全性好一点  现在比较流行风格  不会暴露动作

4.2 restfull代码实现

新增:
  @RequestMapping(value="/xxx",method = RequestMethod.PUT)
    @ResponseBody
    public AjaxResult add(@RequestBody Department department){
        System.out.println("新增:"+department);
        return new AjaxResult();

    }
修改:
	 @RequestMapping(method = RequestMethod.POST)
    @ResponseBody
    public AjaxResult update(@RequestBody Department department){
        System.out.println("修改:"+department);
        return new AjaxResult();
    }
删除
@RequestMapping(value="/{id}",method = RequestMethod.DELETE)
    @ResponseBody
    public AjaxResult delete(@PathVariable Long id){
        System.out.println("删除数据的id为:"+id);
        return new AjaxResult();
    }
//查询
    @RequestMapping(value="/{id}",method = RequestMethod.GET)
    @ResponseBody
    public AjaxResult queryOne(@PathVariable Long id){
        System.out.println("查询数据的id为:"+id);
        return new AjaxResult();
    }
    
     @RequestMapping(value="/list",method=RequestMethod.PATCH)
    @ResponseBody
    public List<Department> list(){
        return departmentService.queryAll();
    }

4.3 swagger(理解)

和spring整合,根据controller 生成的接口的文档 ,通过页面访问

给前端看的…

4.4 postman来测试(掌握)

测试 put/get/post/delete/patch这些请求

5. 前端vue-element-admin

基于 vue-cli 和 elementui 搭建出来一个模块框架, 框架基本功能 ,路由,插件 ,国际化等\

5.1 搭建模板(掌握)

(1)解压文件 --修改名称

(2)使用idea 打开

(3)执行命令 npm install 安装依赖

(4)启动 npm run dev

(5) 访问