lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。特别是相对于 POJO,有了它 妈妈再也不用担心你的Entity啦.
lombok 的官方网址:http://projectlombok.org/
使用 lombok 开发,必须先在idea上装上插件 ,
我这里是已经装好的
以上是安装过程 按图索骥,很简单 就安装好了,安装好后 会提示restart IDEA 重启就好了
然后项目中还需要引入 lombok的jar
版本就不给了,去它的官网 用最新的吧
lombok 注解:
lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。
Lombok 注解在线帮助文档:http://projectlombok.org/features/index.
下面介绍几个我常用的 lombok 注解:
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
import lombok.Getter; import lombok.Setter; import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; import java.io.Serializable; import java.util.Date;
@Getter //lombok @Setter //lombok @Entity @Table(name = "aaa") public class Application implements Serializable {
private static final long serialVersionUID = 7884376652100131767L;
@Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid2") private String applyId; @ManyToOne(optional = false) @JoinColumn(name = "APP_ID") private App app; @ManyToOne(optional = false) @JoinColumn(name = "NODE_ID") private Node node; @Column @Convert(converter = AppServiceRefAuditStatus.Converter.class) private AppServiceRefAuditStatus auditStatus; @Column private String auditResult; @Column private String auditUser; @Column @Convert(converter = ActiveStatus.Converter.class) private ActiveStatus activeStatus;
@Column private Date createTime; @Column private Date updateTime; @Column private String createUser; @Column private String updateUser; @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "application") public ApplicationParam appParam;
}
这样 我们就能告别那一堆繁琐的 get set 啦 方便多了