- *https://kwonnam.pe.kr/wiki/java/lombok/pitfall λμ κ²μκΈμ 보며 λ€λ₯Έ μμ λ₯Ό μκ°ν΄ 보면μ νμ΅νμμ΅λλ€. **
LomBokμμ μ¬μ©νλ©΄ μ’μ§ μμ μ΄λ Έν μ΄μ
- AllArgsConstructor / RequiredArgsConstructor
@AllArgsConstructor public class User { private String password; private String Id; }
μ΄λ¬ν ν΄λμ€κ° μμ κ²½μ° λ€λ₯Έ κ°λ°μλΆμ΄ Idλ₯Ό λ¨Όμ λ°κ³ μΆμ΄μ
@AllArgsConstructor public class User { private String Id; private String password; }
μ΄λ κ² λ³κ²½νλ€κ³ μκ°ν΄λ³΄λ©΄ μμ±μλ₯Ό μ§μ μμ±ν΄ μ£Όμ§λ μμκ³ λ°λ νμ
λ λκ°κΈ° λλ¬Έμ κΈ°μ‘΄μ μ½λμμλ μ€λ₯κ° λμ§ μκ³ μ€νμ΄ μ λλ λͺ¨μ΅μ 보μ¬μ€λ€. νμ§λ§ μ΄λ―Έ λ€μ΄μ€λ κ°μ λ°λλ‘ λ€μ΄μ€κΈ° λλ¬Έμ Idμ λΉλ°λ²νΈκ° λ€μ΄κ°κ³ λΉλ°λ²νΈ κ°μ Idκ° λ€μ΄κ°κ² λ κ²μ΄λ€.
μ¬μ©νλ©΄ νΈλ¦¬νμ§λ§ κ·Έλ§νΌ ν° μ€λ₯κ° μκΈΈ μλ μκΈ° λλ¬Έμ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€. @Data μ΄λ Έν μ΄μ μμλ μμ±μκ° λ€μ΄κ° μκΈ° λλ¬Έμ μ¬μ©νμ§ λ§μμΌ νλ€.
κ°μ λ°©λ²
public class User { private String Id; private String password; @Builder public User(String Id, String password) { this.Id = Id; this.password = password; } }
μμ±μλ₯Ό μ§μ μμ±νκ³ λΉλν¨ν΄μ μ΄μ©νλ©΄ νλΌλ―Έν°λ₯Ό μμλ³λ‘ μμ±νλκ² μλ μ΄λ¦μΌλ‘ κ°μ λ£μ μ μκΈ° λλ¬Έμ 리ν©ν λ§μλ μ μ°νκ² λμ²ν μ μλ€.
νμ§λ§ @Builder μ΄λ
Έν
μ΄μ
λ AllArgsConstructor λ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ ν΄λμ€μ λΆμ΄λ κ² λ³΄λ€ μ§μ λ§λ μμ±μλ static κ°μ²΄ μμ± λ©μλμ λΆμ΄λ κ²μ κΆμ₯νλ€.
μ€λ¬΄μμ 둬볡 μ¬μ©
- μ€λ¬΄μμλ @Getter / @Setter / @ToString μ λλ‘λ§ μ¬μ©μ νλ κ²μ κΆμ₯νλ€.
- λ€λ₯Έ κ²λ€μ μ¬μ©μ μμ νκ³ μ¬μ©ν μΌμ΄ μμΌλ©΄ 보μμ μΌλ‘ μ¬μ©μ ν΄μΌνλ€.