기록용) @AllArgsConstructor , 빌더패턴

예시)

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
public class User {
	
    @Id
    @Gen~~
    private int id;
    
    @Column
    private String ~1;
    private String ~2;
    private String ~3;
    
    // @NoArgsConstructor 파라미터가 없는 생성자 생성
    // 필드가 final로 생성되어있을때 필드 초기화 할수 없음
    // @AllArgsConstructor은 모든 필드를 가진 생성자 생성 (아래처럼)
    // user(String ~1,String ~2,String ~3) {...}
    
	
}

빌더패턴 정리 진짜 잘하신분 링크!
https://devlog-wjdrbs96.tistory.com/258?category=925183

https://devlog-wjdrbs96.tistory.com/419

롬복 기능글 쓰신분 링크
https://dingue.tistory.com/14

@requiredArgsConstructor : 초기화가 안된 final필드 , @NonNull로 마크된 생성자 자동생성

@Data = @RequiredArgsConstructor + @Getter + @Setter + @ToString + @EqualsAndHashCode

@Data 쓸때 주의해야할점 아래 링크
https://velog.io/@rosa/Lombok-%EC%A7%80%EC%96%91%ED%95%B4%EC%95%BC-%ED%95%A0-annotation
@Data 대신 @setter @getter @toString 으로 쓰는게 좋다고 한다

생성자와 setter 차이

생성자는 슬롯 구매 같은 존재 (맨처음에 한번 발동)
setter은 그 슬롯에 들어가는 것 (슬롯에 들어가는거 변경가능)

좋은 웹페이지 즐겨찾기