📕 INDEX
- Lombok
- Spring configuration Processor
- Spring Cache Abstraction 프로젝트 속도를 높이는 보편적 방법
- Vault Configuration 프로젝트 암호를 더 안전하게 보관하는 최신 트렌드
-
Lombok
“Never write another getter or equals method again”
- Boilerplate code 를 줄여주는 도구
- 생산성 향상에 기여
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
Lombok 에서 제일 인기 있는 기능들
@Data, @Value
@Data
- @Getter + @Setter + @RequiredArgsConstructor + @ToString + @EqualsAndHashCode
- 편함
- 근데 그래서 조심해야 함
@Value
- 불변 객체를 만들 때 씀
- @Getter @FieldDefaults(makeFinal=true, level=AccessLevel.PRIVATE)
@AllArgsConstructor @ToString @EqualsAndHashCode.
@RequiredArgsConstructor
Lombok 의 위기…
- 각종 예상치 못한 동작
- 과도한 애노테이션, 관례 기반 코드 스타일 : 동작 예측이 어렵다는 지적
- 명시적이고 테스트가 쉬운 코드로 회귀하려는 움직임
- 롬복에서 해방되고 싶다!
JAVA Records
package com.fastcampus.springbootpractice.domain;
public record Student(
String name,
Integer age,
Grade grade
) {
private enum Grade {
A, B, C, D, F
}
}
🍯 Tip
- Java16과 호환성 문제가 있음 ->버전1.18.20해결
- Intellij Lombok plugin -> "Enable annotation processor" 자동 적용이라 안 해도 돼요~
- 자동으로 다 해준다 vs.디테일을 나도 모르게 바꾼다
- 프로그래밍 세계는 끊임없이 경쟁과 발전 중