해당 환경은 모두 Mac OS환경에서 진행되었습니다.


Lombok(jar) 설치



https://projectlombok.org/download에서 최신버전 혹은 원하는 버젼의 Lombok을 다운로드 받아 줍니다.









Lombok jar 실행


lombok이 설치된 경로로 들어가서 jar파일을 실행시켜줍니다.


java -jar $LOMBOK_DOWNLOAD_PATH/lombok.jar



만약 첫번째 이미지처럼 떴다면 로컬의 IDE를 찾을 수 없다는 alert창입니다. 그렇다면 2,3번째 이미지처럼 IDE의 ini파일의 경로를 적용시켜서 install/Update 버튼을 눌러준 후에 인스톨러를 종료시켜줍니다.


여기까지 따라왔다면 이클립스를 재시작해줍니다.





마지막 이클립스의 ini파일을 열어보면


아래와 같이 javaagent가 등록이 된것을 확인할 수 있습니다.


그리고 pom.xml에 방금 받은 lombok version의 라이브러리를 dependency 하면 런타임시점에 @Getter,@Setter등의 어노테이션이 해당 코드로 generate됩니다.




간단한 롬복 어노테이션




@NonNull
NullPointerException을 발생하지 않도록 미리 체크한다.

@Cleanup
자동 리소스 관리를 수행한다.: 안전하게 close()메소드를 호출한다.

@Getter / @Setter
getter/setter메소드를 자동으로 생성한다.

@ToString
lombok가 자동으로 toString 메소드를 생성해준다. 모든 필드들을 toString으로 노출시켜준다.

@EqualsAndHashCode
equals와 hashCode메소드를 자동으로 생성해준다. 객체의 필드들을 이용하여 구현하게 된다.

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
생성자를 만들어 준다.
@NoArgsConstructor : 파라미터 없는 생성자를 만들어준다.
@RequiredArgsConstructor : not null필드나 final필드들을 아규먼트로 하는 생성자를 만든다.
@AllArgsConstructor : 모든 파라미터를 이용하여 생성자를 만든다.

@Data
@ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor 를 모두 한번에 적용한 어노테이션이다.

@Value
불변 클래스들을 매우 쉽게 만든다.

@Builder
객체 생성을 빌더로 만들어준다.

@SneakyThrows
checked exceptions를 던진다. 이전에 thrown을 지정하지 않은 경우에 설정된다.

@Synchronized
synchronized가 올바르게 수행되도록 한다. locks를 볼 수 없을 것이다.

@Getter(lazy=true)
Getter을 생성한다. lazy하게.. 느린것이 좋은 것이다.

@Log
Logs를 사용할 수 있도록 해준다.




posted by 여성게
: