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.分模块开发
以前ssm弊端:
(1)随着业务的增加, mapper 或者 service类 越来越多 ,项目越来越庞大,项目有点臃肿 -->拆分多个模块
(2)项目代码越来越多, 构建 或者编译, 变得很慢很慢 -->拆分
(3)有些内容,公共的内容 ,有很多项目都可能使用,有必要-- 抽取到公共maven模块
(4)有些内容, 不想让每个人都可以修改 – 抽取到公共的maven模块 util
(5)随着项目业务需求的怎么 ,pom.xml的内容也会变得很长
分模块开发:把一个模块 (一个项目) 拆分成多个模块
原则:
(1)开闭原则
对扩展开放
对修改关闭 – 公共的不要乱修改
(2)低耦合: 尽量的分层开发 service mapper controller --为了维护
高内聚: 比如一个方法 (方法就应该完成一个方法该干的事情 save )
步骤
(1)代码拆分
basic-util 工具类
basic-core 公共内容
crm-common 具体项目公共内容
crm-mapper 项目里面具体mapper
crm-service 项目里面service类
crm-web 项目的controller层
(2)配置文件拆分
web.xml applicationContext-mvc.xml -->crm-web模块
applicationContext.xml–crm-service模块
(3)效果:
4.restful风格
1.理解
<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 安全性好一点 现在比较流行风格 不会暴露动作
2.实现
//添加
@RequestMapping(method = RequestMethod.PUT)
@ResponseBody
public AjaxResult save(@RequestBody Department department){
System.out.println("添加");
System.out.println(department);
return new AjaxResult();
}
//删除
@RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
@ResponseBody
public AjaxResult delete(@PathVariable Long id){
System.out.println("删除");
System.out.println(id);
return new AjaxResult();
}
//修改
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public AjaxResult update(@RequestBody Department department){
System.out.println("修改");
System.out.println(department);
return new AjaxResult();
}
//查询
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
@ResponseBody
public AjaxResult query(@PathVariable Long id){
System.out.println("查询");
System.out.println(id);
return new AjaxResult();
}
4.3 swagger
和spring整合,根据controller 生成的接口的文档 ,通过页面访问
4.4 postman来测试
测试 put/get/post/delete/patch这些请求
5.前端vue-element-admin
模板搭建
(1)解压文件 --修改名称
(2)使用idea 打开
(3)执行命令 npm install 安装依赖
(4)启动 npm run dev
(5) 访问