-
@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor에 대해서Back-end/Spring 2023. 12. 19. 17:01반응형
들어가기
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; } }
반응형