zoukankan      html  css  js  c++  java
  • 四、推荐的实用技术

    简介: 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&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数据

     

  • 相关阅读:
    Data Wrangling文摘:Non-tidy-data
    Data Wrangling文摘:Tideness
    Python文摘:Mixin 2
    Python文摘:Mixin
    Python文摘:Python with Context Managers
    Python学习笔记11
    SQL学习笔记9
    SQL学习笔记8
    SQL学习笔记7
    Python学习笔记10:内建结构
  • 原文地址:https://www.cnblogs.com/y369/p/10655314.html
Copyright © 2011-2022 走看看