使用步骤
1.在idea中安装lombok插件
2.在项目中导入lombok依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
在实体类上加注解
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author tian
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String username;
private String password;
}
lombok注解
@Getter and @Setter
@FieldNameConstants
@ToString
@EqualsAndHashCode
@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog
@Data
@Builder
@SuperBuilder
@Singular
@Delegate
@Value
@Accessors
@Wither
@With
@SneakyThrows
@StandardException
@val
@var
experimental @var
@UtilityClass
@Data:实现了get/set 无参构造(默认自带) toString hashCode equals.....
@AllArgsConstructor: 有参构造,注意:添加了该有参构造后默认的无参构造方法将失效,如需使用,须添加@NoArgsConstructor注解
lombok的优缺点
-
优点
- 1.通过注解的形式自动生成构造器,getter/setter,equals,hashcode,toString等方法,提高了一定的开发效率.
- 2.让代码变得简洁,不用过多的去关注相应的方法
- 3.属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等.
-
缺点
- 1.不支持多种参数构造器的重载
- 2.虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度