这里主要介绍我平常真正用到且比较好用的idea插件,方便大家加快开发效率,部分图片gif借鉴自网络,虽然大多也有很多博客介绍过,但在公司技术分享时发现不管是新人和老人完全不知道这些插件,所以做了整理
支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便。
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>版本version>
<scope>providedscope>
dependency>
@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
如果觉得@Data太过残暴(因为@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不够精细,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法,
该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。
示例如下:
import lombok.NonNull;
public class NonNullExample{
private String name;
public NonNullExample(@NonNull Person person) {
this.name = person.getName();
}
}
该注解能帮助我们自动调用close()方法,很大的简化了代码。
示例如下:
import lombok.Cleanup;
import java.io.*;
public class CleanupExample {
public static void main(String[] args) throws IOException {
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
byte[] b = new byte[10000];
while (true) {
int r = in.read(b);
if (r == -1) break;
out.write(b, 0, r);
}
}
}
如不使用Lombok,则需如下:
import java.io.*;
public class CleanupExample {
public static void main(String[] args) throws IOException {
InputStream in = new FileInputStream(args[0]);
try {
OutputStream out = new FileOutputStream(args[1]);
try {
byte[] b = new byte[10000];
while (true) {
int r = in.read(b);
if (r == -1) break;
out.write(b, 0, r);
}
} finally {
if (out != null) {
out.close();
}
}
} finally {
if (in != null) {
in.close();
}
}
}
}
默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。
@EqualsAndHashCode(exclude={"id", "name"})
类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
可以指定包含和不包含的属性
@ToString(exclude="id")
无参构造器、部分参数构造器、全参构造器。Lombok没法实现多种参数构造器的重载。
@Slf4j
@RestController
@RequestMapping(value = "/harbour")
public class HarbourController {
}
开源地址:https://github.com/YiiGuxing/TranslationPlugin
取词并翻译。如果有已选择的文本,优先从选择的文本内取词,否则默认以最大范围自动取词(该取词模式可在Settings中配置)。默认显示在编辑器右键菜单上,默认快捷键:
翻译并替换。取词方式同Translate
操作。默认显示在编辑器右键菜单上,默认快捷键:
安装完成后你会发现你代码中不规范的地方全都给你标注出来了,也提供了部分问题alt+enter的快速解决方案
使用如上方式,可对代码进行系统化扫描,产生一个清单
mybatis代码自动生成插件,大部分单表操作的代码可自动生成 减少重复劳动 大幅提升效率,作者更新版本和修改bug都很及时。
一键调用一个对象的所有set方法并且赋予默认值 在对象字段多的时候非常方便
快捷键:alt + M
Spring MVC网页开发的时候,我们都是通过requestmapping的方式来定义页面的URL地址的,为了找到这个地址我们一般都是ctrl+shift+F的方式进行查找,大家都知道,我们URL的命名一个是类requestmapping+方法requestmapping,查找的时候还是有那么一点不方便的,restfultookit就能很方便的帮忙进行查找。
只要双击即可跳转到对应的controller接口中
根据我们的controller帮我们生成默认的测试数据,还能直接调用测试,这个可以是解决了我们每次postman调试数据时,自己傻傻的组装数据的的操作,这个更加清晰,比在console找数据包要方便多了
一个非常适合IT团队的在线API文档、技术文档工具,可以代替swagger的使用,手动管理生成文档,
在编写的时候就可以和插件相结合
网站地址:https://www.showdoc.cc/
是不是比原来手写数据简单了许多
SELECT id, area_name, country_id, pinyin, pinyin_initials, sort, english_name, state, is_deleted, create_by, create_time, update_time FROM area WHERE id = ?
jrebel是可以热部署项目的一个工具,更改代码自动部署并不需要重启项目(在spring中的controller中,增加、修改方法都是可以进行热部署而不需要重启的),极大的提高工作效率。
他可以帮助我们写代码时有的时候嵌套太多格式又比较乱,他可以帮我们从颜色上区分括号的对应关系