본문 바로가기
TOOLS/IntelliJ

[IntelliJ]Lombok(롬복) 라이브러리 설치하기

by 무사뎀벨레 2021. 10. 8.

 

인텔리제이에서 Lombok(롬복) 라이브러리를 연동하여 사용하는 방법에 대해 알아보겠습니다.

 

 

 

 

 

 

 

1. Lombok(롬복)이란?


 

위 이미지는 Lombok(롬복) 라이브러리를 소개하는 공식 사이트에 기재된 내용입니다. 어노테이션을 사용하여 반복되는 행위(반복되는 코드 작성 등)를 줄여주는 역할을 해주는 라이브러리라고 소개하고 있습니다.

 

객체 클래스에 @Data 어노테이션만 달면, Getter/Setter/Equals/ToString과 같은 메서드를 자동으로 생성하고 연결해주는 역할을 합니다.

 

 

 

 

 

 

 

2. Lombok(롬복) 플러그인 설치


※ IntelliJ 2020.03 버전 이후로는 Lombok(롬복) 라이브러리가 기본 Plugin으로 설치되어있습니다. ※ 

  1. 인텔리제이 플러그인 검색
    - 인텔리제이 상단 메뉴의 File -> Settings... 로 진입합니다.


    - Marketplace에서 lombok을 검색하여 install합니다.


 

 

 

 

 

 

3. Lombok(롬복) 사용하기


  1. 소스상에서 Lombok(롬복) 라이브러리 사용하기 위한 준비
    - 아래는 Maven(메이븐) 형식과 Gradle(그래들) 형식의 프로젝트에서 사용되는 예시입니다.

    1-1. Maven(메이븐)에서 Lombok(롬복) 라이브러리 적용
    pom.xml에 Lombok(롬복) 라이브러리 의존성을 주입합니다.


    <dependency> 
    	<groupId>org.projectlombok</groupId> 
    	<artifactId>lombok</artifactId> 
    	<version>1.18.20</version> 
    	<scope>provided</scope> 
    </dependency>




    1-2. Gradle(그래들)에서 
    Lombok(롬복) 라이브러리 적용
     - build.gradle Lombok(롬복) 라이브러리 의존성을 주입합니다.


    compileOnly 'org.projectlombok:lombok' 
    annotationProcessor 'org.projectlombok:lombok'





  2. Enable annotation 설정
    - 인텔리제이 상단 메뉴의 File -> Settings...로 진입합니다.
    - Build, Execution, Deployment -> Annotation Processors로 진입하여 우측의 Enable annotation processing을 체크 한 뒤 아래 Apply버튼을 눌러 적용한 뒤 OK 버튼을 누릅니다.



  3. 코드상에서의 적용
    - 아래 이미지와 같이 lombok을 import 하여 사용합니다.
    - @Data는 @Getter, @Setter, @NonNull, @EqualsAndHashCode, @ToString에 대한 걸 모두 해주는 Annotation입니다.
    @Data (Data 어노테이션)을 사용하여 선언한 변수들은 자동적으로 set변수명, get변수명이 선언됩니다.
    - 아래 이미지에선 obj1이라는 String(문자열) 형식의 변수를 선언했고, 우측의 Outline탭에서는 getObj1과 setObj1이 선언돼있는 것을 확인할 수 있습니다.




  4. @Data 이외의 기능
    1) @ToString
    - toString 메소드를 자동 생성합니다.
    - 클래스명(필드명1=값1, 필드명2=값2, . . . ) 형태로 출력합니다.

    2) @EqualsAndHashCode
    - equals()와 hashCode()를 자동으로 생성합니다.

    3) @Notnull
     - 멤버 필드에 선언해 주면, 해당 변수 Setter에 null값이 들어올 때 NullPointException을 발생시킵니다.

    4) @Value
    - Value는 Immutable Class를 생성합니다.
    - Data와 비슷하지만 모든 필드를 기본적으로 Private 및 Final로 로 하고, Setter 함수를 생성하지 않고, Class 또한 Final로 지정하는 것만 빼고 동일합니다.

    5) @Slf4j, @Log 등
    - 해당 어노테이션을 선언하면, log관련 static 메소드를 클래스 별로 선언할 필요가 없습니다.


    ※ 플러그인은 인텔리제이에 한 번만 다운로드하면 되지만, 의존성 추가와 Enable annotation processing 체크는 프로젝트마다 해주어야 합니다.


이클립스에 롬복 설치하는 방법

 

2. Eclipse(이클립스)에 Lombok(롬복) 라이브러리 설치하기

이번 글에서는 이클립스에서 Lombok(롬복) 라이브러리를 연동하여 사용하는 방법에 대해 알아보겠습니다. 1. Lombok(롬복)이란? 위 이미지는 Lombok(롬복) 라이브러리를 소개하는 공식 사이트에 기재

hajoung56.tistory.com

 

반응형

댓글