본문 바로가기
[개발] 프레임워크/Spring

Spring Lombok

by Devsong26 2018. 4. 26.

이번에 새롭게 투입된 프로젝트에서는 lombok이라는 라이브러리를 사용하고 있다. 

처음에는 이것의 존재를 모르고 있었는데, Github에서 프로젝트를 Cloning하고 Maven 업데이트를 했는데 프로젝트에 에러가 사라지지 않는 것이었다. 

그래서 부장님께 여쭤보니 Lombok이라는 라이브러리를 Spring.ini에 등록을 해야 된다고 하셨다. 

 

* Lombok은 무엇인가?

@(어노테이션)을 이용하여 자동으로 getter, setter 메소드등을 만들어주는 라이브러리이다. 

 

출처: https://projectlombok.org/features/GetterSetter

 

 

- Lombok을 적용한 코드

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

public class GetterSetterExample{

  @Getter @Setter private int age = 10;

  @Setter(AccessLevel.PROTECTED) private String name;

  @Override public String toString(){
  	return String.format("%s (age: %d)", name, age);
  }

}

 

 

- Lombok 미적용된 코드

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

public class GetterSetterExample{

  private String name;

  public String getName(){
  	return name;
  }

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

  private int age;

  public int getAge(){
  	return age;
  }

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

  @Override public String toString(){
    return String.format("%s (age: %d)", name, age);
  }

}

 

 

Lombok 설치하는 방법

1. pom.xml에 dependency등록하기

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

 

2. cmd를 실행하여 lombok.jar가 위치한 m2 경로로 이동 후 java -jar lombok-1.16.20.jar 를 실행한다.

 

3. specify location을 눌러서 spring.exe 파일을 선택한 후 install을 누른다.

 

4. 설치하면 설치됐다고 나온다.

 

5. spring.ini를 확인해보면

-vmargs 의 맨 마지막 줄에

-javaagent:C:\Users\song\Desktop\spring-tool-suite-3.9.2.RELEASE-e4.7.2-win32-x86_64\sts-bundle\sts-3.9.2.RELEASE\lombok.jar

이 추가됐을 것이다. 
 
설치가 완료됐으니 lombok을 사용하자~

 

 

 

 


더 많은 내용을 보시려면 아래를 참고하세요.


블로그의 다른 글

 

[Java] Service, Controller 테스트

Junit으로 TDD를 실천하면서 어떻게 코드를 테스트 해야하는지 감이 잡혀온다. 알게 된 점은 아래와 같다. 1. 테스트 코드 작성법 2. 고민되는 부분 3. MockMvc의 사용법 4. Assert 사용법 1. 테스트 코드

developer-syubrofo.tistory.com

 

How to use(insert) spatial data in mysql and JPA.

Introduction I introduce how to use spatial type columns in MySQL and JPA. Subject I introduce how to use spatial type columns in MySQL and JPA. MySQL has spatial data types that correspond to OpenG..

developer-syubrofo.tistory.com

 

The unknown errors occur in pom.xml when using STS4

Introduction I start I made the new spring starter project in sts4. But I checked the unknown error in pom.xml. Subject Why do these errors occur? When the spring framework builds a..

developer-syubrofo.tistory.com

 

How do I set up the OS system variables in Spring Boot Application Properties?

Introduction Recently, I have a job to use a public repository. But I don't want to make public my configuration information. At last, I found a way to meet my requirements and int..

developer-syubrofo.tistory.com

 

JAVA BigDecimal을 왜 그리고 어떻게 사용할까?

자바의 수 연산은 기본 자료형이나 BigDecimal 등의 클래스를 이용한다. 보통, Double(Wrapper class)와 BigDecimal 중 어떤 것을 사용해야 하는지로 고민하게 된다. 기본적인 수 연산은 +, -, *, /, % 연산자를..

developer-syubrofo.tistory.com