开头:
做过Java的同学都知道,对编写Bean.class,要写很多Setter和Getter函数,当然我们可以利用IDE中的自带的Setter,Getter插件,完成Bean的属性函数编写
例如,在Mac 中的Intelli J中
直接用command+N,或者右键点击Generate
当然,这种方式还是不够简洁,当属性特别多的时候,整个类都是setter和getter函数,挺烦人的;当你要删除和添加属性的时候,也会很繁琐
Lombok插件:
在Intelli J,Lombok插件就应运而生了,我们就来直接看效果吧,
import lombok.Data;
@Data
public class Product {
private int id;
}
直接使用类的声明上面添加@Data,或者在属性上添加@Setter或者@Getter
import lombok.Getter;
import lombok.Setter;
public class Product {
@Setter
@Getter
private int id;
}
当然,利用@AllArgsConstructor,也可以自动生成构造函数
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor //所有参数作为构造函数
public class Product {
private int id;
}
原理:
利用注解,在编译的时期,通过一种抽象语法树,自动匹配和生成Setter和Getter函数
下面就是编译后的.class文件,可以看出整个过程和结果还是很容易理解的,只要你理解注解的原理
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.wevalid.bean;
public class Product {
private int id;
public Product() {
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public boolean equals(Object o) {
if (o == this) {
return true;
} else if (!(o instanceof Product)) {
return false;
} else {
Product other = (Product)o;
if (!other.canEqual(this)) {
return false;
} else {
return this.getId() == other.getId();
}
}
}
protected boolean canEqual(Object other) {
return other instanceof Product;
}
public int hashCode() {
int PRIME = true;
int result = 1;
int result = result * 59 + this.getId();
return result;
}
public String toString() {
return "Product(id=" + this.getId() + ")";
}
}
2.Free Mybaits Plugin:
做Java EE的时候,用到最多的ORM框架应该就是MyBaits了
MyBaits的主要结构就是service.java,mapper.java,mapper.xml组成,可以简单地理解下,service主要是提供业务接口的,mapper.class就是提供数据库接口的,mapper.xml就是操作数据库的;差不多就是这样的流程,service-->mapper.java-->mapper.xml,其中,mapper.java也和mapper.xml一一对应
如果我们手动编写这些代码,是不是很繁琐,本来Mybaits是帮我们屏蔽了很多数据库操作的细节的,可是,我们还是要编写很多代码和执行很多操作
当然肯定会有各种插件来帮我们减少代码量和操作量,针对Mybaits,国人做了一个插件:https://github.com/wuzhizhan/free-idea-mybatis,这个插件怎么用呢?
请打开这个链接,里面说得很详细,
安装方法:
以Lombok为例
1.直接在Intelli J中Preference--->Plugins--->搜索Lombok
2.上面的方法,可能会经常读取超时的问题,因为我们就需要先把插件文件下载本地,然后从本地安装下载(推荐方法2)
首先直接百度搜索插件,然后下载本地,
然后,从Preference--->Plugins--->从本地安装
总结:
在Java这个庞大可持续的生态链中,各种个样的插件都很多,紧跟最新技术发展,那我们的编程效率就会高很多,我们就可以专心在业务中去。当然也要懂基本的原理,遇到问题才能从容应对