Idea高效开发技巧

推荐阅读:
W3C-中文IDEA翻译教程

1 查看类结构图

选中类名,右键找到Diagrams,选中Show Diagram
在这里插入图片描述
常用:m类方法,f类字段,
在这里插入图片描述

2 IDEA REST Client

和postman作用一样,但比起更加方便高效。
两种使用方式:1⃣️图形化页面(不推荐,不便与保存记录重复使用);2⃣️.http脚本文件(推荐,便于保存和复制给开发成员之间使用)

2.1 图形化页面使用

顶层工具栏依次Tools -> HTTP Client-> Test RESTFUL Web Service 打开后,IDEA REST Client控制台的界面如下样式:

请求的方式是Authorization :Basic这种方式认证的话,可以点击下图所示的按钮,会弹出填充用户名和密码的窗口出来,填完后会自动补充到Authorization 的header里面去

在这里插入图片描述

2.2 HTTP脚本使用

2.2.1 构建HTTP请求脚本

首先通过###三个井号键来分开每个请求体,然后请求url和header参数是紧紧挨着的,请求参数不管是POST的body传参还是GET的parameter传参,都是要换行的

### 演示POST请求
POST {{baseUrl}}}get?show_env=1
Accept: application/json
`要有换行`
{
   "name":"a"
}
### 演示GET请求
GET {{baseUrl}}}/post
Content-Type: application/x-www-form-urlencoded
`要有换行`
id=999&value=content

2.2.2 查看历史记录

IntelliJ IDEA自动将最近执行的50个请求保存到http-requests-log.http 文件中,该文件存储在项目的.idea / httpRequests /目录下。使用请求历史记录,您可以快速导航到特定响应并再次发出请求。

文件内容大如下图所示,再次发出请求只要点击那个运行按钮即可。如果从请求历史记录再次发出请求,则其执行信息和响应输出的链接将添加到请求历史记录文件的顶部。

2.2.3 IDEA REST Client特色真香点

支持占位符方式(环境区分)

首先在.http的脚本同目录下创建一个名为http-client.private.env.json的文件,然后内容如下,一级的key值时用来区分环境的,比如,dev、uat、pro等,环境下的对象就是一次HTTP请求中能够获取到的环境变量了,你可以直接在请求的HTTP的脚本中通过{{xx}}占位符的方式获取到这里配置的参数

{
  "uat": {
    "baseUrl": "http://gateway.xxx.cn/",
    "username": "",
    "password": ""
  },
  "dev": {
    "baseUrl": "http://localhsot:8888/",
    "username": "",
    "password": ""
  }
}

那么在选择执行请求的时候,IDEA就会让你选执行那个环境的配置,如
在这里插入图片描述

结果值暂存(接口token暂存)

试想下这样的场景,当一个系统需要通过认证才能访问的时候,如果用postman的时候,是不是先访问登录接口,然后获得token后,手动粘贴复制到新的调试接口的header参数里面去,这太麻烦了,IDEA REST Client还有一个真香的功能,可以完美解决这个问题,请看下面的脚本:

### 获取调用接口返回的token,将token存到系统变量auth_token里
POST https://test.com/post
Content-Type: application/json
{
  "user": "admin",
  "password": "123456"
}

> {% client.global.set("auth_token", response.body.json.token); %}

此时将返回接口json里面的token值放到了全局值auth_token里,一直到idea软件关闭,都是有效的

### 使用上一步保存的auth_token值
GET https://httpbin.org/headers
Authorization: Bearer {{auth_token}} 

结果断言(接口调试)

IDEA REST Client可以针对接口的响应值进行脚本化的断言处理,立马从一个接口调试工具上升到测试工具了,
比如:

### Successful test: check response status is 200
GET https://httpbin.org/status/200

> {%
client.test("Request executed successfully", function() {
  client.assert(response.status === 200, "Response status is not 200");
});
%}

3 IDEA DataBase

  • 进入DataBase
    在这里插入图片描述
  • 使用方式
    在这里插入图片描述

4 IDEA-Deployment

Deployment是个类似与xshell工具,但比xshell更方便连接工具
在这里插入图片描述
上传本地文件到服务器,configuration配置时选择sftp,配置上传文件所在目录以及上传服务器目录
在这里插入图片描述
连接登陆服务器

上传文件到服务器/下载文件
在这里插入图片描述
右键目录,即出现上传/下载
在这里插入图片描述
⚠️IDEA会将configuration -> mappings配置的本地目录下的所有文件都上传,所以将不需要上传的文件可以先从本地目录移除开

5 SpringBoot 在IDEA中实现热部署

热部署部分原作者链接:https://www.cnblogs.com/weizhxa/p/10937542.html

开启IDEA的自动编译(静态)

具体步骤:打开顶部工具栏 File -> Settings -> Default Settings -> Build -> Compiler 然后勾选 Build project automatically 。
在这里插入图片描述

开启IDEA的自动编译(动态)

具体步骤:同时按住 Ctrl + Shift + Alt + / 然后进入Registry ,勾选自动编译并调整延时参数。

  • compiler.automake.allow.when.app.running -> 自动编译
  • compile.document.save.trigger.delay -> 自动更新文件

网上极少有人提到compile.document.save.trigger.delay 它主要是针对静态文件如JS CSS的更新,将延迟时间减少后,直接按F5刷新页面就能看到效果!
在这里插入图片描述

开启IDEA的热部署策略(非常重要)

具体步骤:顶部菜单- >Edit Configurations->SpringBoot插件->目标项目->勾选热更新。
在这里插入图片描述

在项目添加热部署插件(可选)

如果因为旧项目十分臃肿,导致热重启很慢而影响开发效率,笔者建议直接在POM移除spring-boot-devtools依赖,然后使用Control+Shift+F9进行免启动快速更新!!

具体步骤:在POM文件添加热部署插件

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>

关闭浏览器缓存(重要)

打开谷歌浏览器,打开F12的Network选项栏,然后勾选【✅】Disable cache 。
在这里插入图片描述

6 Scratch File使用

场景:当写代码时,临时需要写个简单的测试方法,或者格式化下json结构,都可以新建个Scratch file。
在这里插入图片描述
新建的Scratch文件会存在于:项目的Scratch and Consoles目录
在这里插入图片描述

Scratch文件方便之处,可以一直重用一个文件,无需新建,根据需要改变文件类型,Change Language
在这里插入图片描述

posted @ 2020-04-25 21:59  叶落无蝉鸣  阅读(113)  评论(0编辑  收藏  举报