| 知乎专栏 |
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
常用的 lombok 注解:
@EqualsAndHashCode:实现equals()方法和hashCode()方法 @ToString:实现toString()方法 @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 @Setter:注解在属性上;为属性提供 setting 方法 @Getter:注解在属性上;为属性提供 getting 方法 @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象 @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法 @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法 @Cleanup:关闭流 @Synchronized:对象同步 @SneakyThrows:抛出异常
package cn.netkiller.graphql.domain;
import lombok.Builder;
import lombok.Data;
@Builder
@Data
public class Author {
private Integer id;
private String name;
private Integer age;
public Author() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Author [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
Author author = Author.builder().id(1).name("Neo Chen").age(40).build();
如果不想每次都写
private final Logger logger = LoggerFactory.getLogger(CLASSNAME.class);
可以用注解 @Slf4j
package cn.netkiller.service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
public class HelloController {
// private static final Log log = LogFactory.getLog(HelloController.class);
@GetMapping("/")
public String hello() {
Log.info("@Slf4j Test OK");
return "Hello World";
}
}