四、推荐的实用技术

简介: 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:\MyEclipse2018\lombok-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&param2=值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; 
    }

}
AnnotationController

2)postMan对于各个方法的逐个测试

testGet:@GetMapping请求 和 @RequestParam接收单个参数

  

testPost:@PostMapping请求 和  @RequestParam接收多个参数

testPut:@PutMapping请求 和 @PathVariable接收参数

 

testDelete : @DeleteMapping请求 和 @RequestBody接收json数据

 

 

posted @ 2019-04-04 15:57  笑眼望世界  阅读(208)  评论(0编辑  收藏  举报