본문 바로가기

Backend/Java

Java Lombok 설치 가이드 및 주의사항

Java Lombok 설치에 대해 알아볼게요.

 

자바에서는 데이터를 주고 받을 모델 클래스를 생성하고 나면 수기로 Getter/Setter 메소드를 직접 생성해주어야 해요.

필드가 수정/삭제 될 경우 역시 마찬가지에요.

 

public class SignIn {

	private String userId;
	private String password;

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

 

Lombok을 사용하면 아래와 같이 이를 굉장히 간소화할 수 있어요.

필드가 많아질수록 가독성과 생산성 면에서 효과적이에요.

 

@Getter
@Setter
public class SignIn {

	private String userId;
	private String password;

}

※ 주의사항

저는 Lombok을 애용하지만 @Getter, @Setter, @ToString만 사용하고, 이외의 어노테이션을 사용할 때에는 주의하는 편이에요.

 

위험성 한 가지만 간단하게 예를 들게요. 위의 SignIn 클래스에 @AllArgsConstructor를 선언해볼게요.

public SignIn (userId, password) {} 라는 생성자가 만들어지구요.

그런데 여기서 개발자가 private String password;를 한 줄 위로 올려버린다면?

Lombok은 자동으로 public SignIn (password, userId) {} 로 생성자의 매개변수 순서를 변경시켜 버려요.

타입도 같아서 public 생성자를 사용하는 그 어디에서도 오류가 나지 않아요.

결국 두 변수의 값이 바뀌어서 들어가버려서 문제가 생길 수 있어요.

그래서 저 같은 경우는 순서를 너무 바꾸고 싶은 경우는 @AllArgsConstructor 먼저 지운 후에 오류나는 파일을 먼저 확인해요.

 

무의식적으로 Lombok을 사용하면서 자신도 모르게 문제를 일으킬 수 있으므로 다시 한 번 주의가 필요해요.


설치 가이드

실습은 STS에서 했지만 Eclipse도 동일한 방법으로 하면 되요.

Lombok 사이트에서 라이브러리를 직접 받거나 Spring 환경에서 Dependencies를 추가했다면, 해당 Jar를 직접 실행해도 되구요.

 

for Mac

...더보기

1. lombok.jar 다운로드 및 실행

https://projectlombok.org/download 에서 lombok.jar를 다운로드

java -jar lombok.jar

혹은

 

2. IDE에 Lombok 설정

자동으로 IDE를 찾을 수 없는 경우에는 당황하지 말고 OK를 눌러주시면 되요.

 

3. STS.ini 선택

 

4. Install 진행

 

5. IDE 재시작, 프로젝트 빌드

설치했는데 적용이 안된다는 분들이 많으신데 대부분 IDE를 재시작하지 않았거나 프로젝트를 재빌드하지 않은 경우였어요. 잊지 말고 꼭 해주세요.

 

6. 테스트

어노테이션만으로 자동으로 get, set 메소드를 사용할 수 있음을 Outline에서 확인

 

for Windows

...더보기

1. lombok.jar 다운로드 및 실행

https://projectlombok.org/download 에서 lombok.jar를 다운로드

java -jar lombok.jar

혹은

 

 

2. IDE에 Lombok 설정

자동으로 IDE를 찾을 수 없는 경우에는 당황하지 말고 OK를 눌러주시면 되요.

 

3. STS.exe 선택

 

4. Install 진행

 

5. IDE 재시작, 프로젝트 빌드

설치했는데 적용이 안된다는 분들이 많으신데 대부분 IDE를 재시작하지 않았거나 프로젝트를 재빌드하지 않은 경우였어요. 잊지 말고 꼭 해주세요.

 

6. 테스트

어노테이션만으로 자동으로 get, set 메소드를 사용할 수 있음을 Outline에서 확인