1、Maven Helper
分析依赖冲突插件
此插件可用来方便显示maven的依赖树,在没有此插件时,如果想看maven的依赖树需要输入命令行: mvn dependency:tree 才可查看依赖。如果想看是否有依赖包冲突的话也需要输入命令行等等的操作。而如果安装Maven Helper插件就可免去命令行困扰。通过界面即可操作完成。
使用方式:
打开项目中的pom文件,在底部会显示一个“Dependency Analyzer”,
可进行相应操作:
- Conflicts(查看冲突)
- All Dependencies as List(列表形式查看所有依赖)
- All Dependencies as Tree(树形式查看所有依赖)
- 搜索功能
2、Free Mybatis plugin
方便在Mapper接口方法和Mapper XML文件之间来回切换的插件
点击左侧箭头,即可在mapper和对象xml之间跳转,idea中到实现类的快捷键也可支持
其他功能
- 支持生成语句,@Param注释和xml映射器【 快捷键 映射器接口声明,方法或参数 Option + Enter(Mac)| Alt + Enter(Windows)】
- mybatis自动补全及语法错误提示
3、JRebel for Intellij
热部署插件,修改完代码后,不用重新启动,非常实用。但是非免费,靠大家的财力和智慧吧。
启动或者debug的时候,使用上图标注的即可,每次修完class后,mac快捷键 command+F9 或者Ctrl+F9重新加载类即可。
4、Lombok
Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。
在使用之前需要在项目中添加lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
5、GsonFormat
GSON是google推出的一个实现 JSON 与 Java 对象间转化的库,它可以轻松实现 JSON 与 Java 对象间的转换
创建一个空类进行下图操作,或者快捷键option+s,即可快速根据json生成对应model内容
生成model如下
import java.util.List;
public class JsonTest {
/**
* animals : {"dog":[{"name":"Rufus","breed":"labrador","count":1,"twoFeet":false},{"name":"Marty","breed":"whippet","count":1,"twoFeet":false}],"cat":{"name":"Matilda"}}
*/
private AnimalsBean animals;
public AnimalsBean getAnimals() {
return animals;
}
public void setAnimals(AnimalsBean animals) {
this.animals = animals;
}
public static class AnimalsBean {
/**
* dog : [{"name":"Rufus","breed":"labrador","count":1,"twoFeet":false},{"name":"Marty","breed":"whippet","count":1,"twoFeet":false}]
* cat : {"name":"Matilda"}
*/
private CatBean cat;
private List<DogBean> dog;
public CatBean getCat() {
return cat;
}
public void setCat(CatBean cat) {
this.cat = cat;
}
public List<DogBean> getDog() {
return dog;
}
public void setDog(List<DogBean> dog) {
this.dog = dog;
}
public static class CatBean {
/**
* name : Matilda
*/
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static class DogBean {
/**
* name : Rufus
* breed : labrador
* count : 1
* twoFeet : false
*/
private String name;
private String breed;
private int count;
private boolean twoFeet;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBreed() {
return breed;
}
public void setBreed(String breed) {
this.breed = breed;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public boolean isTwoFeet() {
return twoFeet;
}
public void setTwoFeet(boolean twoFeet) {
this.twoFeet = twoFeet;
}
}
}
}
如果项目中使用了lombok,不希望生成get set方法,在setting中选择Lombok即可解决
6、Statistic
代码统计工具,可以查看代码总行数,各类文件的代码行数、空行等等。非常方便用于排查项目中无用类目
7、Alibaba Java Coding Guidelines
阿里巴巴开发代码检测插件,检测代码中的坏味道,分为Blocker/Critical/Major三个等级对应为snoar中前三个崩溃/严重/重要 ,前两级必须解决掉。
8、Key promoter X
Key Promoter X
是一个提示插件,当你在IDEA
里面使用鼠标的时候,如果这个鼠标操作是能够用快捷键替代的,那么Key Promoter X
会弹出一个提示框,告知你这个鼠标操作可以用什么快捷键替代。对于想完全使用快捷键在IDEA
的,这个插件就很有用。
标注有通过鼠标操作次数,以及对应的快捷键
9、Restfultookit
根据url查找Controller
1.根据 URL 直接跳转到对应的方法定义 ( Ctrl \ or Ctrl Alt N );
2.提供了一个 Services tree 的显示窗口;
3.一个简单的 http 请求工具;
4.在请求方法上添加了有用功能: 复制生成 URL;,复制方法参数...
demo展示
Full URL
http://localhost:8086/educational/account/accountList?studentCode=demoData&studentName=demoData&cityCode=demoData&phone=demoData
Relation URL
/account/refundApply?accountId=demoData&userBizId=demoData&userId=demoData&userName=demoData&mobile=demoData&email=demoData&areaCode=demoData&areaName=demoData&departmentId=demoData
RequestBody(json)
{
"cityCode": "demoData",
"studentId": "demoData",
"studentName": "demoData",
"accountId": "demoData",
"schoolId": "demoData",
"totalAmount": 1,
"amount": 1,
"totalTaxAmount": 1,
"refundName": "demoData",
"refundTypeId": "demoData",
"refundPhone": "demoData",
"refundReason": "demoData",
"billType": 1,
"idcardFilePath": "demoData",
"offFilePath": "demoData",
"details": {
"accountFinanceId": "demoData",
"status": 1,
"remark": 1,
"cardHolderName": "demoData",
"bankName": "demoData",
"bankNo": "demoData",
"city": "demoData",
"province": "demoData",
"bankType": "demoData",
"bankTypeName": "demoData"
},
"allowRefundMoney": 1,
"bankFilePath": "demoData",
"channel": 1
}
Query Param(key value)
accountId=demoData&userBizId=demoData&userId=demoData&userName=demoData&mobile=demoData&email=demoData&areaCode=demoData&areaName=demoData&departmentId=demoData
后续有很好用的插件还会继续更新,致力于提升研发效率!