
들어가기
Lombok 라이브러리의 어노테이션 @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor에 대해서 알아보자.
@NoArgsConstructor
@NoArgsConstructor는 파라미터가 없는 디폴트 생성자를 자동으로 만들어주는 어노테이션이다.
@NoArgsConstructor
public class Dog {
private String name;
private int age;
// Omitted Getter & Setter
}
public class Dog {
private String name;
private int age;
// Omitted Getter & Setter
public Dog() {
}
}
@AllArgsConstructor
@AllArgsConstructor는 모든 멤버 변수를 파라미터로 받는 생성자를 자동으로 만들어주는 어노테이션이다.
@AllArgsConstructor
public class Dog {
private String name;
private int age;
// Omitted Getter & Setter
}
public class Dog {
private String name;
private int age;
// Omitted Getter & Setter
public Dog(String name, int age) {
this.name = name;
this.age = age;
}
}
@RequiredArgsConstructor
@RequiredArgsConstructor는 fianl 키워드가 붙은 멤버 변수나 @NotNull 어노테이션이 붙은 멤버 변수의 생성자를 자동으로 만들어주는 어노테이션이다.
@Service
@RequiredArgsConstructor
public class BlogService {
private final BlogRepository blogRepository;
}
@Service
public class BlogService {
private final BlogRepository blogRepository;
@Autowired
public BlogService(BlogRepository blogRepository) {
this.blogRepository = blogRepository;
}
}