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) 访问