简介: lombok插件, devtools热部署, 接口测试工具postMan, controller的常用注解
项目源码:https://github.com/y369q369/springBoot.git -> tips
私聊QQ: 1486866853
1. lombok使用
1)在pom.xml中添加依赖包
2) lombok 插件 安装
eclipse / myeclipse 安装 -> 找到 项目中的 maven仓库下载的lombok依赖包位置 -> 将 lombok的jar包 复制到 eclipse / myeclipse 的程序安装地址(包含myeclipse.ini文件)
-> 打开 myeclipse.ini 文件,在最下面添加 -javaagent:D:MyEclipse2018lombok-1.18.6.jar(我的myeclipse安装地址D:MyEclipse2018,自行修改)
idea安装 -> File -> Settings -> Plugins -> 在输入框中输入lombok -> 选择Lombok插件 -> 右边有install,安装完即可
3)实际使用 -> 先创建 TestLombok类 -> 在创建 LombokController类 ( 具体使用看代码 )
TestLombok
package demo.vo; import lombok.Data; /** * @author GrassPrince * @Da2019年4月5日 2019年4月5日 - 上午9:57:55 * @Description 测试lombok的@data注解 * @data : 包含Getter/Setter/无参构造/ToString * @Getter、@Setter等都是单个功能 */ @Data public class TestLombok { private String cup; private String Briefs; }
LombokController
package demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import demo.vo.TestLombok; import lombok.extern.slf4j.Slf4j; /** * @author GrassPrince * @Da2019年4月5日 2019年4月5日 - 上午10:01:46 * @Description 测试lombok的@Slf4j:自动创建Slf4j日志对象log * @RestController : @Controller 和 @ResponseBody结合注解 ,既是controller也返回到页面json数据 * @ResponseBody 解析返回值的Content-Type: String -> text/html 对象/Map集合 -> application/json */ @RestController @Slf4j public class LombokController { @GetMapping("/testLombok") public TestLombok testLombok() { // 这边能够创建对象即说明@Data注解可以创建无参构造 TestLombok lombok = new TestLombok(); // 可以set即说明@Data注解可以创建setter方法 lombok.setBriefs("平底"); lombok.setCup("C"); // @Slf4j创建Slf4j日志对象log log.info("@Data注解包含toString方法: {}", lombok.toString()); log.info("@Data注解包含getter方法: 罩杯 - {}, 内裤 - {}", lombok.getBriefs(), lombok.getCup()); return lombok; } }
2.devtools使用
在pom.xml加入依赖即可,每次修改java代码和配置文件保存后自动执行
3. postMan的下载
由于2018年初chrome停止对chrome应用程序的支持,现在使用的大多是官方推出的Postman 开发者版本,直接exe安装即可
官网下载地址: https://www.getpostman.com/downloads/
嫌弃下载慢的有postMan7.0.7版本百度网盘下载地址: https://pan.baidu.com/s/1gRCWgPygS3CNs-vl6c9xtg,提取码: id11
4.controller的常用注解 使用 postMan测试
1)整个 RequestController 内容
package demo.controller; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import demo.vo.TestLombok; import lombok.extern.slf4j.Slf4j; /** * @author GrassPrince * @Da2019年4月6日 2019年4月6日 - 下午2:27:41 * @Description controller常用注解的使用 * @RestController 等价于 类上的@Controller 和 方法上的@ResponseBody 结合, 即这个controller 所有方法返回的都是json数据 * @RequestMapping("test"): 页面请求的地址,放在controller上即每个方法前面都要加上 /test * @RequestMapping("test") 也可写作 @RequestMapping("/test"), 有无 / 皆可 * @Slf4j lombok的日志操作工具,注入log对象 * @GetMapping 一般用于查询 * @PostMapping 一般用于新增 , @PutMapping 一般用于 修改 ,实际上 @PostMapping 用途包括 @PutMapping * @DeleteMapping 一般用于删除 */ @RestController @RequestMapping("test") @Slf4j public class AnnotationController { // @GetMapping("testGet") 等价于 @RequestMapping(value = "testGet", method = RequestMethod.GET) // @RequestParam("param") String param : 请求的参数格式为 .../test/testGet?param=值 @GetMapping("testGet") public String testGet(@RequestParam("param") String param) { log.info("页面传来的参数为: {}", param); return "页面传来的参数为: " + param; } // @PostMapping("testPost") 等价于 @RequestMapping(value = "testPost", method = RequestMethod.POST) // 多个@RequestParam接取参数的 格式为 .../test/testPost?param=值1¶m2=值2 @PostMapping("testPost") public String testPost(@RequestParam("param") String param, @RequestParam("param2") String param2) { log.info("页面传来的参数为: {}, {}", param, param2); return "页面传来的参数为: " + param + "和" + param2; } // @PutMapping("testPut/{param}") 等价于 @RequestMapping(value = "testPut/{param}", method = RequestMethod.PUT) // @PathVariable("param") String param : 请求的参数格式 与 @PutMapping("testPut/{param}")统一, 即 .../test/testPut/值 // @PutMapping("testPut/{param}") 中参数位置可随意放, 如 @PutMapping("{param}/testPut") @PutMapping("testPut/{param}") public String testPut(@PathVariable("param") String param) { log.info("页面传来的参数为: {}", param); return "页面传来的参数为: " + param; } // @DeleteMapping("testDelete") 等价于 @RequestMapping(value = "testDelete", method = RequestMethod.DELETE) // @RequestBody 接收请求的头部 content-type = application/json 或 application/xml, 接取的参数可以使对象, 数据类型, 集合 @DeleteMapping("testDelete") public String testDelete(@RequestBody TestLombok tetstLombok) { log.info("页面传来的参数为: {}", tetstLombok); return "页面传来的参数为: " + tetstLombok; } }
2)postMan对于各个方法的逐个测试
testGet:@GetMapping请求 和 @RequestParam接收单个参数
testPost:@PostMapping请求 和 @RequestParam接收多个参数
testPut:@PutMapping请求 和 @PathVariable接收参数
testDelete : @DeleteMapping请求 和 @RequestBody接收json数据