Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

26.22. Spring boot with lombok

		
		<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:抛出异常
		
	

@Builder

		
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();		
		
		

@Slf4j 注解

如果不想每次都写

		
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";
	}

}