별거아닌 기본인데 자꾸만 헷갈려서 안되겠다.. 내가보려고 써놓는 간단한 정리
@NoArgsConstructor
- 기본생성자를 만든다.
- public Member() {}
@RequiredArgsConstructor
- 선언된 모든 final필드가 포함된 생성자를 생성한다.
- final이 없는 필드는 생성자에 포함되지 않는다.
@Autowired를 사용하지 않고 이렇게 사용하는 것을 권장한다.
@RequiredArgsConstructor
@Controller
public class IndexController {
private final PostsService postsService;
...
}
@AllArgsConstructor
- 선언된 모든 필드의 생성자를 생선한다.
만약 DTO클래스 내부에서 생성자를 만들고 @Builder 를 사용한다면? 이 @AllArgsConstructor 사용할 일이 없겠지. 그리고 이 어노테이션을 사용하는 것 보다 생성자를 만드는 것을 더 권장한다고 한다.!
@Getter
@NoArgsConstructor
public class PostsSaveRequestsDto {
private String title;
private String content;
private String author;
@Builder
public PostsSaveRequestsDto(String title, String content, String author) {
this.title = title;
this.content = content;
this.author = author;
}
'TIL' 카테고리의 다른 글
[TIL] 프로세스의 끝부분에서 에러가 났는데 그게 하나의 트랜잭션이라서... (0) | 2023.07.27 |
---|---|
[TIL] 서버에서 배포 시에 실패 Exit 뜰 때와 jdk버전차이 확인하기 (0) | 2023.07.13 |
[TIL] - Return null과 new Exception으로 던지는 것의 차이가 무엇일까 (0) | 2023.06.30 |
[TIL] Spring boot @Deprecated 어노테이션 (0) | 2023.06.27 |
[TIL] git flow - hotfix branch 를 main에 merge한 이후에? (0) | 2023.06.22 |