티스토리 뷰

자바로 코딩을 할때 반복적으로 또는 기계적으로 작업을 해야 하는 몇몇 경우가 있다. 예를들면 model 클래스를 작성할때 멤버변수를 정의하고 그에 따른 getter, setter 등을 만든다거나 로그를 사용할 클래스에서 매번 로그를 정의해 줘야 하는 이런 반복적인 일들. 이런 불편함을 조금이나마 해소해주는 녀석이 있다. 바로 lombok 이라는 녀석이다. lombok의 여러가지 기능이 있지만 지금은 lombok을 사용하여 매번 로그 객체를 만들던 수고를 덜어보는걸 해보도록 하겠다. 

 

우리가 일반적으로 로그를 찍기 위해서 했던 행동들을 일단 보자.

private static final Logger LOG = LoggerFactory.getLogger(Sample.class);

slf4j를 통해 로깅을 하는데 위와 같은 구문을 매 클래스마다 집어넣고 사용을 한다. 이런걸 lombok을 이용한다면 

@Slf4j
public class Sample {

이렇게 @Slf4j 라는 annotation 으로 간단하게 정의를 할 수 있다. 이런게 lombok이 해주는 역할이다. 


그럼 lombok은 어떻게 설치를 하는걸까?

 

일단은 lombok library를 maven dependency에 추가를 시켜준다. 

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>${lombok.version}</version>
  <scope>provided</scope>
</dependency>

그리고 개발은 보통 이클립스나 인텔리제이 등을 통해서 진행을 하므로 lombok과 이 개발도구들을 연결을 시켜줘야한다. 연결을 시키는 방법은 그냥 cmd에서 java -jar lombok-1.18.12.jar로 실행을 시켜도 되고 해당 jar파일을 더블클릭해서 열어도 된다. 

 

 

반디집으로 기본 실행옵션이 되어 있어서 powershell을 통해서 실행!

 

 

명령어를 때리면 위와 같은 창이 나타나고 Specify location 을 클릭하여 연동시킬 개발도구의 실행파일을 매핑시킨다. 

 

 

선택하고 Install / Update 를 클릭하면 다음과 같은 성공했다는 메세지가 나온다. 

 

-vmargs -javaagent:lombok.jar 이런게 STS.ini 파일에 추가가 되었다는 내용이다. Quit Installer로 종료하고 STS 실행!

 

바로 실험을 해보자. 

 

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Sample {
  public static void main(String[] args) {
    log.debug("lombok test");
  }
}

 

@Slf4j 를 붙이니 오류 없이 잘 인식을 한다. 또한 로그도 아주 정상적으로 잘 출력이 된다. 

@Slf4j를 붙이면 log 라는 단어는 예약어 같이 사용한다고 생각하면 된다. 코드가 한결 간결해졌다. 

 

끝!

 

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31