1. Lombok
자바의 보일러 플레이트 코드를 줄여주는 매우 고마운 라이브러리다!
보일러 플레이트 코드는 자바로 코딩할 때 매번 똑같은 코드들을 반복해서 짜고.. 이런 반복적으로 비슷한 형태를 띠는 코드를 말한다.
1.1 Lombok의 기능
(1) @Setter, @Getter
- Java Bean 규약에 있는 setter, getter 들을 자동으로 생성해준다.
(2) @ToString
- Object에 기본 구현된 ToString 대신 객체의 데이터를 보여주는 TroString을 자동으로 생성해 준다.
(3) @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
- 객체 생성자를 자동으로 생성해 준다.
- @NoArgsConstructor : 아무것도 없는 생성자
- @AllArgsConstructor : 모든 프로퍼티를 갖는 생성자
- @RequiredArgsConstructor : 필수 값들을 받게 하는 생성자
(3) @Data
- Getter, Setter, ToString, Equals, hashCode 등 다양한 기능을 모두 제공해 준다.
- 모든 기능을 제공해 줘서 편리한 대신에 보안에 취약하다. 따라서, 주의해서 사용해야 한다.
(4) @Builder
- 빌더 패턴을 자동으로 생성하여 제공해 준다.
(5) @Slf4j
- 해당 클래스의 logger를 자동으로 생성해 준다.
(6) @UtillityClass
- static method만 제공하는 유틸리티 성격의 클래스들 생성자를 privatge으로 만들어서 객체 생성을 할 수 없도록 한다.
◾ Lombok 사용 전
import java.time.LocalDateTime;
public class AccountDto {
private String accountNumber;
private String nickname;
private LocalDateTime registeredAt;
// 일반적으로 이런식으로 getter, setter 을 하나하나 구현해줘야했음 (보일러 플레이트 코드)
public String getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public LocalDateTime getRegisteredAt() {
return registeredAt;
}
public void setRegisteredAt(LocalDateTime registeredAt) {
this.registeredAt = registeredAt;
}
}
원래 이런 식으로 getter, setter을 하나하나 구현해줘야 했다.
만약에 인스턴스를 생성하면 다시 getter, setter을 구현해줘야 하고,
인스턴스 이름을 변경하게 되면 직접 getter, setter 부분도 변경해줘야 해서 불편하다..!
◾ Lombok 사용 후
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Setter
@Getter
public class AccountDto {
private String accountNumber;
private String nickname;
private LocalDateTime registeredAt;
}
2. 빌드 관리 도구
빌드 관리 도구란 라이브러리를 관리해 주고 빌드 및 실행을 도와주는 주체를 말한다.
Maven, Gradle 은spring의 빌드 관리 도구이다.
빌드 도구는 다음의 반복적인 작업을 자동화한다.
1. 필요한 라이브러리를 리포지토리(라이브러리가 저장되어 있는 곳)에서 다운로드한다.
2. 소스코드를 컴파일한다.
3. 테스트를 실행하여 보고서를 출력한다.
4. 클래스 파일의 아카이브 (여러 파일이나 폴더를 하나로 정리하는 것)를 생성한다.
5. 아카이브를 스테이징 환경 (프로덕션 환경에 가까운 환경) 등에 배포한다.
◼ 스프링 프레임워크 첫걸음 관련 게시글 더보기
스프링 프레임워크 첫걸음 - YES24
세상에서 가장 친절한 스프링 프레임워크 입문서! 스프링 프레임워크는 전 세계적으로 가장 널리 사용되는 오픈소스 자바 애플리케이션 프레임워크다. 이 책에서는 스프링 프레임워크를 처음
www.yes24.com