2019. 2. 2. 21:36ㆍ프로그래밍언어/Java&Servlet
해당 환경은 모두 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를 사용할 수 있도록 해준다.
'프로그래밍언어 > Java&Servlet' 카테고리의 다른 글
Java - ConnectionTimeout,ReadTimeout,SocketTimeout 차이점? (0) | 2019.02.12 |
---|---|
Java - JDK1.7(JAVA 7) 특징 try-with-resource 등 (0) | 2019.02.11 |
JAVA - Hashtable, HashMap, ConcurrentHashMap 비교 (0) | 2019.02.01 |
객체지향 design pattern - composite pattern 예제 (0) | 2019.01.29 |
객체지향 design pattern - strategy pattern 예제 (0) | 2019.01.04 |