| 知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
<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";
}
}