Lombok
1. Lombok은 무엇을 하는가?
- Java 개발을 하다 보면 class 변수에 따라 Getter/Setter/toString() 메서드를 일일히 작성해야 했다.
- Lombok은 이러한 것을 단순 자동화 함으로써 개발 시간을 단축 시켜 주었다.
- 즉 Lombok 라이브러리는 Java코드를 컴파일 할 떄 자동으로 추가 메소드를 만들어 컴파일 해주는 라이브러리다.
2. 사전 작업
- 롬복을 사용하기 위해선 우선 롬복 설치 후 해당 IDE에 적용을 시켜 줘야 한다.
- 자세한 사항은 'Eclipse 롬복 설치 / Intellij 롬복 설치'라고 검색하면 친절한 블로거님들이 잘 설명해 놓았다.
3. Lombok의 어노테이션
어노테이션이 여러가지 있지만 그 중 자주 사용하는 것을 정리해 보겠다.
- @NonNull : Null 값이 될 수 없다는 것을 명시.
- @Getter/@Setter : Getter / Setter 메서드를 자동 생성한다.
- @ToString : toString() 메서드를 생성한다.
- @EqualsAndHashCode : eqals()와 hashCode() 메서드를 생성한다.
- @Synchronized : 메서드에 동기화를 설정한다.
4. Lombok을 사용해 보자
위를 보면 getter / setter / toString() 메서드가 없는 것을 확인 할 수 있다.
다음 이것이 잘 동작 하는지 보자.
서버 실행 후 localhost:8080/sample 로 들어가면 정상적으로 데이터가 보이는 것일 알 수 있다.
cf) @RestController는 무엇인가?
일반적으로 @Controller를 붙이면 JSP나 HTML 뷰를 호출하는데, @RestController를 붙이면 뷰를 활용하지 않고 문자열 데이터를 브라우저로 전송한다. 그래서 위 처럼 문자열이 보이는 것이다. restfulApi 이용되기도 하는데 나중에 포스팅 하기로 하겠다.
여기 까지 롬복에 대해 알아보았다. 롬복 사용은 호불호가 갈린다고 하는데, 나는 일단 사용하기 편하니 계속 사용할 예정이다ㅎ
그럼 끝~!
1. Lombok은 무엇을 하는가?
- Java 개발을 하다 보면 class 변수에 따라 Getter/Setter/toString() 메서드를 일일히 작성해야 했다.
- Lombok은 이러한 것을 단순 자동화 함으로써 개발 시간을 단축 시켜 주었다.
- 즉 Lombok 라이브러리는 Java코드를 컴파일 할 떄 자동으로 추가 메소드를 만들어 컴파일 해주는 라이브러리다.
2. 사전 작업
- 롬복을 사용하기 위해선 우선 롬복 설치 후 해당 IDE에 적용을 시켜 줘야 한다.
- 자세한 사항은 'Eclipse 롬복 설치 / Intellij 롬복 설치'라고 검색하면 친절한 블로거님들이 잘 설명해 놓았다.
3. Lombok의 어노테이션
어노테이션이 여러가지 있지만 그 중 자주 사용하는 것을 정리해 보겠다.
- @NonNull : Null 값이 될 수 없다는 것을 명시.
- @Getter/@Setter : Getter / Setter 메서드를 자동 생성한다.
- @ToString : toString() 메서드를 생성한다.
- @EqualsAndHashCode : eqals()와 hashCode() 메서드를 생성한다.
- @Synchronized : 메서드에 동기화를 설정한다.
4. Lombok을 사용해 보자
package com.example.sutdy.domain; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class vo1 { private String val1; private int n; private boolean b; }
위를 보면 getter / setter / toString() 메서드가 없는 것을 확인 할 수 있다.
다음 이것이 잘 동작 하는지 보자.
package com.example.sutdy.controller; import com.example.sutdy.domain.Vo1; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class VoController { @GetMapping("/hello") public String hello() { return "Hello world"; } @GetMapping("/sample") public Vo1 makeVo() { Vo1 vo = new Vo1(); vo.setVal1("val1"); vo.setB(true); vo.setN(101); System.out.println(vo); return vo; } }
서버 실행 후 localhost:8080/sample 로 들어가면 정상적으로 데이터가 보이는 것일 알 수 있다.
cf) @RestController는 무엇인가?
일반적으로 @Controller를 붙이면 JSP나 HTML 뷰를 호출하는데, @RestController를 붙이면 뷰를 활용하지 않고 문자열 데이터를 브라우저로 전송한다. 그래서 위 처럼 문자열이 보이는 것이다. restfulApi 이용되기도 하는데 나중에 포스팅 하기로 하겠다.
여기 까지 롬복에 대해 알아보았다. 롬복 사용은 호불호가 갈린다고 하는데, 나는 일단 사용하기 편하니 계속 사용할 예정이다ㅎ
그럼 끝~!
댓글
댓글 쓰기