Developer Cafe

@NOARGSCONSTRUCTOR , @ALLARGSCONSTRUCTOR , @REQUIREDARGSCONSTRUCTOR 차이 본문

Spring/어노테이션

@NOARGSCONSTRUCTOR , @ALLARGSCONSTRUCTOR , @REQUIREDARGSCONSTRUCTOR 차이

개발자 카페 2021. 5. 4. 17:34
728x90
@NOARGSCONSTRUCTOR 파라미터가 없는 기본 생성자를 생성
@ALLARGSCONSTRUCTOR 모든 필드 값을 파라미터로 받는 생성자를 만듦
@REQUIREDARGSCONSTRUCTOR final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 만듦
@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class User {

  private Long id;
  
  @NonNull
  private String name;
  
  @NonNull
  private String pw;
  
  private int age;
  
}
User user1 = new User(); // @NoArgsConstructor
User user2 = new User("user2", "1234"); // @RequiredArgsConstructor
User user3 = new User(1L, "user3", "1234", null); // @AllArgsConstructor

※ Nonnull 이란 : null을 허용하지 않음

※ Nullable 이란 : null을 허용함

728x90

'Spring > 어노테이션' 카테고리의 다른 글

@RestController  (0) 2021.05.13
생성자 주입(@RequiredArgsConstructor) vs 필드 주입(@Autowired) 차이  (0) 2021.05.11
@After, @postsRepository.save  (0) 2021.03.22
@Column, @NoArgsConstructor  (0) 2021.03.18
@Entity  (0) 2021.03.18
Comments