<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
</dependency>
至此,Lombok已经安装完毕
如果不想每次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);
}
}
如果不想在实体类中生成大量的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;
}
使用时只要在User类上添加注解,可以非常优雅地创建一个对象,如下:
User user = User.builder()
.userName("test")
.password("123456")
.role(User.ROLE_STUDENT)
.build();
@NoArgsConstructor: 注解在类,自动生成无参数构造函数。
@AllArgsConstructor: 注解在类,自动生成全参数构造函数。
@ToString:注解在类注解在类,可以生成所有参数的 toString 方法,还会生成默认的构造方法。
Lombok更多用法及原理,请参考这篇文章适当的利用工具可以避免造冗余的轮子,但滥用就会极大地降低代码可读性哦!