1.maven多模块搭建
1.为什么要搭建多模块
2.搭建多模块
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
4.引用关系
crm_web -->crm_service
crm_service–>crm_mapper
crm_mapper–>crm_common
crm_common–>basic_core
basic_core->basic_util
注意:不要循环引用
5.配置文件
web.xml -->crm_web
applicationContext-mvc.xml–>crm_web
applicationContext.xml -->crm_service
db.properties–>crm_service/crm_mapper
6.导入jar包关系
crm_parent: 公共的spring的包
crm_web: spring-web spring-webmvc
crm_service: 引用crm_mapper
crm_mapper: mybatis dbcp 等
7.写代码时要满足以下要求
(1) 开闭原则:
对扩展开发
对修改关闭 – 一些公共的内容
(2) 低耦合 高内聚
低耦合: 模块和模块直接,类和类之间 耦合度要低
高内聚: 指的类里面的方法,它应该达到高内聚的效率
save -->保存的使用 代码30-40行
2.restfull风格
1.为什么要用restfull风格
以前我们在发送的请求 常用 get/post, 但是现在发送请求,就要增加 delete/put/options
以前发送请求:
删除: get(post) /deleteProduct?id=1 (动作+资源在一起)
现在删除: --restfull的风格 好处:不会暴露资源
delete(动作) (/product/1 资源) -->动作+资源
前后端分离的项目:
采用restful的风格来交互,使用json来传递数据
2.什么叫resetfull风格
put – 新增 (修改)
post --修改(新增)
get --查询
delete --删除
patch --查询
head --头信息(不用)
使用restfull写法:(掌握)
@Autowired
private IDepartmentService departmentService;
@RequestMapping(value="/list",method= RequestMethod.PATCH)
@ResponseBody
public List<Department> list(){
return departmentService.findAll();
}
//新增
// {name:xxx}
@RequestMapping(value="/save",method = RequestMethod.PUT)
@ResponseBody
public AjaxResult save(@RequestBody Department department){
System.out.println("新增数据");
System.out.println(department);
return new AjaxResult();
}
@RequestMapping(value="/update",method = RequestMethod.POST)
@ResponseBody
public AjaxResult update(@RequestBody Department department){
System.out.println("修改数据");
System.out.println(department);
return new AjaxResult();
}
// /department/delete/1
@RequestMapping(value="/delete/{id}",method = RequestMethod.DELETE)
@ResponseBody
public AjaxResult delete(@PathVariable("id") Long id){
System.out.println("删除数据");
System.out.println("删除的id:"+id);
return new AjaxResult();
}
// /department/delete/1
@RequestMapping(value="/query/{id}",method = RequestMethod.GET)
@ResponseBody
public AjaxResult queryOne(@PathVariable("id") Long id){
System.out.println("查询数据");
System.out.println("查询的id:"+id);
return new AjaxResult();
}
}
3.swagger用法
swagger:可以根据controller生成接口文档
(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
1.安装
2.用邮箱注册
3.使用如图
5. vue-admin-master模块
(1)下载 安装
npm install
npm run dev
(2)一堆错的
解决方案
先安装 node-sass
a) npm install -g node-gyp
b) npm uninstall node-sass
c)npm install node-sass
可能python没有
然后安装
一般都安不起,所以就去搜索这个网址
http://www.it1352.com/840755.html