<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更多用法及原理,请参考这篇文章适当的利用工具可以避免造冗余的轮子,但滥用就会极大地降低代码可读性哦!