1. @SneakyThrows - Java에서 메서드 선언부에 Throws 를 정의하지 않고도, 검사 된 예외를 Throw 할 수 있도록 하는 Lombok 에서 제공하는 어노테이션입니다. 즉, throws 나 try-catch 구문을 통해서 Exception 에 대해 번거롭게 명시적으로 예외 처리를 해줘야 하는 경우에 @SneakyThrows 어노테이션을 사용하여 명시적인 예외 처리를 생략할 수 있습니다. - 예외 클래스를 파라미터로 입력받아 원하는 예외 클래스만 동작하도록 할 수 있습니다. - JVM(클래스파일) 수준에서 검사 여부에 관계없이 모든 예외에 대해 throw 가 동작합니다. - 룸북의 공식 홈페이지에서는 이 어노테이션은 논쟁의 여지가 있어 사용 시 신중하게 사용해야 한다고 말하고 있습니다...
Java 언어를 사용해 개발을 하다 보면 DTO, VO 개발을 하다 보면 Lombok(롬복) 이란 라이브러리를 사용하여 개발을 하곤 한다.(물론 아직까지도 안 쓰는 회사도 있기도 하겠지만....) 이번 글에서는 자주 사용하는 Lombok 이란 라이브러리에 대해서 정리해보고자 한다. 1. Lombok 이란? - Java 의 라이브러리로 반복되는 메소드를 Annotation(어노테이션) 기반으로 코드를 자동으로 완성해주는 라이브러리이다. - Lombok 을 이용하면 Getter, Setter, ToString 등과 같은 다양한 코드를 자동 완성시킬 수 있다. - Lombok 을 이용해서 작성한 코드는 컴파일 과정에서 Annotation 을 이용해서 코드를 생성하고 이런 결과물이 .class 에 담기게 된다...
Intelli J에서 스프링부트 프로젝트를 import하여 빌드하다 보면 "java: cannot find symbol" 과 같은 에러가 종종 일어난다. Lombok 관련 에러로 파악되었고, 에러 이미지는 깜빡하고 캡처하지 못했다.... 개발 환경은 다음과 같다. - OS : mac os - java : java 1.8 - IDE : Intelli J - build : Gradle 이 에러 해결을 나는 아래와 같이 진행했다. 1. Intelli J plugin 확인 - Intelli J IDEA -> Preferences -> Plugin 2. Lombok Plugin 확인 - 체크가 해제 되어 있거나, 업데이트가 있으면 업데이트를 진행 - Intelli J 재실행 후 빌드 진행 3. 추가 확인 - 2번..