lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个实体类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法以及构造方法等,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法,这样的代码就显得简洁干净。
1、添加依赖:<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
Lombook在使用中主要靠注解起作用,下面是常用的一些注解及其作用:
1、@NonNull: 可以帮助我们避免空指针
2、@Cleanup: 自动帮我们调用close()方法
3、@Getter / @Setter: 自动生成Getter/Setter方法
4、@NoArgsConstructor: 自动生成无参数构造函数
5、@AllArgsConstructor: 自动生成全参数构造函数
6、@Data: 自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!
demo:Account账户实体类
@Entity
@Table(name = "CREDIT_T_ACCOUNT")
@SequenceGenerator(name = SequenceConstant.HIBERNATE_SEQUENCE_GENERATOR, allocationSize = 1, sequenceName = SequenceConstant.DEFAULT_HIBERNATE_SEQUENCE)
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@EntityListeners(AuditingEntityListener.class)
public class Account extends BaseEntity {
private static final long serialVersionUID = -8164417517368164010L;
/**
* 客户id
*/
private Long personId;
/**
* 账户名称
*/
private String accountName;
/**
* 账户编号
*/
private String accountNo;
/**
* 账户状态
*/
@Enumerated(EnumType.STRING)
private AccountStatus accountStatus = AccountStatus.正常;
/**
* 账户余额
*/
@Digits(integer = 999999999, fraction = 2)
private BigDecimal balance = BigDecimal.ZERO;
/**
* 可用金额
*/
@Digits(integer = 999999999, fraction = 2)
private BigDecimal availableAmount = BigDecimal.ZERO;
/**
* 冻结金额
*/
@Digits(integer = 999999999, fraction = 2)
private BigDecimal freezeAmount = BigDecimal.ZERO;
/**
* 客户编码
*/
private String custCode;
/**
* 第三方平台 ALTER TABLE credit_t_account RENAME COLUMN thrid_party to third_party
*/
@Enumerated(EnumType.STRING)
private AccountThirdParty thirdParty = AccountThirdParty.财富厦门国际存管;
/**
* 存管子账户
*/
private String depositAccountNo;
public Account(Long personId, String accountName, String accountNo) {
super();
this.personId = personId;
this.accountName = accountName;
this.accountNo = accountNo;
}
}