아무거나

[intellij] Lombok 활성화 설정 본문

IT/개발관련툴

[intellij] Lombok 활성화 설정

전봉근 2019. 8. 21. 10:28
반응형

[Lombok]

 

IDE : Intellij

 

우리가 만약 다음 속성에 대해 get/set 을 구현한 자바빈을 만든다고 해보자.

– Long id

– String name

– Integer age

– boolean live

– Date birthday

 

* 자바빈(JavaBean)이란 

  - 데이터를 표현하는 것을 목적으로 하는 자바 클래스.

  - 컴포넌트와 비슷한 의미로도 사용된다.

  - JavaBean 규격서에 따라 작성된 자바 클래스

 

그럼 일반적으로 아래와 같이 만들어진다.

[User.java] 

import java.util.Date;

public class User {
    private Long id;
    private String name;
    private Integer age;
    private String loginId;
    private Date birthday;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getLoginId() {
        return loginId;
    }

    public void setLoginId(String loginId) {
        this.loginId = loginId;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

 

* getter/setter 메서드를 일일이 많드는 것은 귀찮다. 툴을 적절히 활용하도록 하자.

  User 클래스 소스 내에서 마우스 우측 버튼 클릭 -> generate 를 클릭하면 해당 클래스의 필드 변수를 기준으로 getter/setter 메서드들을 자동으로 만들 수 있다.

  클래스에 멤버변수만 선언해놓고 위와 같이 적용해보자

 

 

Lombok : IDE(Eclipse, Intelij IDEA, …)가 지원을 해줌에도 자바빈을 만들 때마다 getter setter 메서드를 일일이 만드는 것은 여전히 귀찮다. 

         소스도 길어져서 가독성도 떨어지고.. 그래서 lombok 을 적용해보자.

 

1. idea 설정

   Intellij Idea 에서 Preference -> Plugins -> Browse Repositories 에 들어가 ‘Lombok Plugin’ 을 추가한다.

   이 녀석이 코드에서 Lobmok 어노테이션 붙은 클래스들을 변환 호출을 해줄 것이다.

   그리고 롬복 어노테이션 붙은 놈들을 IDE 가 인식해서 컴파일을 해줘야하는데 다음과 같이 적용한다.

 

   Prepference -> Build, Execution, Deployment -> Compiler -> Annotation Processors

   gradle 모듈(프로젝트 모듈) 선택(전체를 설정해버린다)

   ‘Enable Annotation Processors’ 체크

 

2. gradle 설정

   [build.gradle]

dependencies {
	compileOnly('org.projectlombok:lombok')
}

 

3. 그러면 위 User클래스는 아래와 같이 변경된다.

   [User.java]

import lombok.Getter;
import lombok.Setter;

import java.util.Date;

@Getter
@Setter
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String loginId;
    private Date birthday;
}

 

   * 와우. 이러면 Lombok 어노테이션과 Idea 의 lombok 플러그인의 협력으로 get/set 메소드가 정의되어 컴파일된다.

     즉. 다음과 같이 잘 써진다.​ 

반응형
Comments