Lombok 이란?
Lombok은 Java의 라이브러리이다.
자바 클래스에서는 Getter, Setter, toString() 등 여러 번 반복해서 사용하게 되는데 사실 클래스마다 이거 매번 만들어주기가 많이 귀찮아진다.
그래서 어노테이션만 넣어주면 기능을 이용할 수 있게 만들어놓은 라이브러리이다.
1. 롬복 설치하기
윈도우 기준 File -> Settings로 들어간다.
검색칸에 plugins 검색하고 Lombok을 검색해준다.
이게 인텔리제이 2020.03 이후부터는 Lombok이 자동으로 깔려있다.
2. Dependency 설정하기
build.gradle에 들어가서 아래 코드를 넣어준다.
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
-------------------------------------------------------
(이 아래의 코드를 넣어주면 됩니다.) 위치는 해당 코드 사이에
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
-------------------------------------------------------
repositories {
mavenCentral()
}
그리고 dependencies 밑에다가 아래의 코드를 넣어준다.
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
3. Lombok 어노테이션을 활성화 하기.
윈도우 기준 File -> Settings에 들어가서 annotation processors 이거를 검색해준다.
위 사진에 Enable annotation processing에 체크해주면 롬복이 적용된다.
이 얼마나 아름다운가.
@Getter, @Setter만 붙였는데 자동으로 게터와 세터가 생성이 됐다.
또 롬복에서 가장 편리한 점은 생성자를 자동으로 만들어준다.
@RequiredArgsConstructor 어노테이션을 사용해주면
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
저 어노테이션 하나가 위 코드와 똑같다고 보면 된다.
즉 자동으로 final 키워드가 붙은 애들로 생성자를 만들어준다.(final이라서 required)
그러면 위의 생성자 코드가 이제는 없어도 된다!!!!(물론 생성자가 하나니깐 자동으로 의존관계 주입까지 해준다.)
사랑합니다 롬복.
반응형
'기타' 카테고리의 다른 글
어떻게 HTTP는 로그인된 상태를 판단할까? (0) | 2024.02.07 |
---|---|
분명 JPA에서는 쿼리를 모았다가 날리는 걸로 알았는데? (0) | 2024.02.06 |
FETCH JOIN 사용하면서 깨달은 1차 캐시 (0) | 2024.01.18 |
JWT를 쿠키에 저장해서 사용하는 방법 (0) | 2023.12.31 |