安装Lombok

1. 在IDEA里安装Lombok插件

image.png

2. 在pom.xml里添加依赖

     <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.16</version>
    </dependency>

至此,Lombok已经安装完毕

@Slf4j

如果不想每次log前都写如下的声明

private static final Logger logger = LoggerFactory.getLogger(Class.class.getName());

在类前添加@Slf4j注解,可直接log

@RestController
@RequestMapping("user")
@Slf4j
public class UserController {
    @Autowired
    UserService userService;

    @PostMapping("/register")
    public ResInfo<User> register(@RequestBody User user) {
        log.debug("用户注册");
        return userService.register(user);
    }
}

@Data

如果不想在实体类中生成大量的Getter和Setter,可以在类上添加@Data

@Data
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 用户名
     */
    @Column(unique = true)
    private String userName;

    /**
     * 密码
     */
    private String password;
}

@Builder

使用时只要在User类上添加注解,可以非常优雅地创建一个对象,如下:

User user = User.builder()
                .userName("test")
                .password("123456")
                .role(User.ROLE_STUDENT)
                .build();

扩展

@NoArgsConstructor: 注解在类,自动生成无参数构造函数。
@AllArgsConstructor: 注解在类,自动生成全参数构造函数。
@ToString:注解在类注解在类,可以生成所有参数的 toString 方法,还会生成默认的构造方法。
Lombok更多用法及原理,请参考这篇文章

总结:

适当的利用工具可以避免造冗余的轮子,但滥用就会极大地降低代码可读性哦!


陈杰
167 声望332 粉丝

为API生,为框架死;