[6/9 TIL] JAVA(외부 라이브러리 사용)

yumyeonghan·2023년 6월 11일
0
post-custom-banner

🍃프로그래머스 백엔드 데브코스 4기 교육과정을 듣고 정리한 글입니다.🍃

외부 라이브러리 사용

1. Gradle

  • 자바와 다른 언어의 프로젝트 개발을 지원하는 오픈 소스 빌드 도구입니다.
  • 소스 코드 컴파일, 리소스 패키징, 테스트 실행, JAR 또는 WAR 파일 생성 등의 작업을 수행하여 프로젝트를 빌드합니다.
  • Maven과 같은 중앙 저장소를 지원하며, 간단한 구문으로 선언된 라이브러리 종속성을 보고, 자동으로 해당 의존성을 다운로드하고 빌드에 포함시킵니다.
  • 변경 사항이 없는 경우 이전에 빌드한 결과를 다시 사용하고, 변경 사항이 있을 경우 해당 부분만 다시 빌드하여 빌드 시간을 단축시킵니다.

2. 라이브러리 검색

이곳에서 라이브러리를 검색하고, Gradle에 해당 라이브러리에 맞는 구문을 선언하면 됩니다.

3. Lombok

  • 반복적인 코드 작성을 줄이고, 코드의 가독성과 유지 보수성을 향상시킬 수 있는 라이브러리입니다.
  • 추가적으로 Intellij에서 "lombok" 플로그인을 설치하고, Settings에서 Build, Execution, Deployment -> Compiler -> Annotation Processors -> "Enable annotation processing" 클릭해야 합니다.
  • 반복 코드를 작성할 필요 없이 애노테이션을 기반으로 코드를 생성합니다.

롬복의 주요 애노테이션

  • @Getter: 필드에 대한 Getter 메서드를 자동으로 생성합니다.
  • @Setter: 필드에 대한 Setter 메서드를 자동으로 생성합니다.
  • @ToString: toString() 메서드를 자동으로 생성합니다.
  • @EqualsAndHashCode: equals()와 hashCode() 메서드를 자동으로 생성합니다.
  • @NoArgsConstructor: 인자 없는 기본 생성자를 자동으로 생성합니다.
  • @AllArgsConstructor: 모든 필드를 인자로 받는 생성자를 자동으로 생성합니다.
  • @RequiredArgsConstructor: 초기화되지 않은 final 필드만을 인자로 받는 생성자를 자동으로 생성합니다.
  • @Data: @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode를 포함합니다.
  • @Value: 불변(immutable) 클래스를 생성합니다.
  • @Builder: 빌더 패턴을 사용하여 객체를 생성할 수 있도록 빌더 클래스를 자동으로 생성합니다.
  • @Slf4j: SLF4J를 사용하여 로깅을 수행하는 필드 및 로거를 자동으로 생성합니다.
  • @Cleanup: 자원을 자동으로 해제해 주는 코드를 생성합니다.
  • @Synchronized: 메서드 또는 블록을 스레드 안전하게 만들어 동기화합니다.
  • @SneakyThrows: 예외를 던지는 메서드에서 예외 처리를 감추고 컴파일 오류를 방지합니다.
profile
웹 개발에 관심 있습니다.
post-custom-banner

0개의 댓글