티스토리 뷰
롬복?(lombok)
자바 개발자들의 필수 라이브러리 롬복. 자바 개발에 자주 사용되는 코드, getter,setter, 기본 생성자, toString등을 어노테이션으로 자동생성해주는 라이브러리다.
1. 인텔리제이 + 그래들에서는 아래와 같은 방법으로 간단하게 추가가 가능하다.
이 방법으로 하면 최신 Gradle에서는 안된다 (아래 참조)
2. Shift+Command+A를 통해 액션을 켜고 'Plugins'를 입력해서 검색한다.
3. 롬복을 검색해서 플러그인을 설치한다.
4. 인텔리제이 재시작
5. 재시작하면 우측하단에 롬복에 대한 설정이 필요하다는 팝업이 뜬다. Enable을 클릭하면 자동으로 설정이 된다.
6. 완료!
이게 문제가 아니라
롬복을 이용한 생성자, get메소드 생성 이후에 또 테스트 코드를 작성해서 테스트 했는데 되지 않는다. 또 다시 버전차이...
dependencies {
annotationProcessor 'org.projectlombok:lombok'
implementation 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.projectlombok:lombok'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
위의 내용처럼 설정해줘야 롬복이 돌아간다. 그레이들 버전별로 차이가 크구나...
롬복 편리하다! 다만 나같은 자바 초보자에게 도움은 안될 것 같다. 하지만 우리가 스프링을 다룰 때 내부적인 부분은 자세하게 알지 않아도 인터페이스를 알면 원하는 동작을 코딩할 있는 것과 같은 이치(?)이라고 생각한다.
롬복에 적응한다면 더 빠른 소스코드 개발이 가능할 것 같다. 롬복 필수!
#소스코드
롬복 Getter,생성자 어노테이션
package com.example.sprignbootstart.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello") //get요청을 받는 ㅁ몌ㅑ
public String hello() {
return "hello";
}
}
테스트코드
package com.example.sprignbootstart.web.Dto;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class HelloResponseDtoTest {
@Test
public void 롬복_기능테스트() {
//given
String name = "test";
int amount = 1000;
HelloResponseDto dto = new HelloResponseDto(name,amount);
assertThat(dto.getName()).isEqualTo(name);
assertThat(dto.getAmount()).isEqualTo(amount);
}
}
'공부 > 스프링부트' 카테고리의 다른 글
[스프링부트] 테스트 코드(JUnit5) (0) | 2021.01.10 |
---|---|
[스프링부트]그레이들(Gradle) 설정- compile VS implmentation (1) | 2021.01.09 |