본문 바로가기
코드프레소 체험단/Spring Boot를 활용합 웹 개발

[Spring Boot 웹 개발 초급] MyBatis를 활용한 API 구현 추가 개념

by 의정부핵꿀밤 2022. 6. 26.
728x90

MyBatis Mapper의 동작

 

 

 

DTO

  • Data Transfer Object
  • 데이터를 저장하여 다른 곳으로 전송하기 위한 목적의 객체
  • 계층형 아키텍처에서 서로 다른 계층으로 데이터를 전송한다
  • REST API에서 요청 데이터나 응답 데이터의 전송 시 사용된다

 

 

 

Lombok

  • 반복적으로 작성해야 하는 java 코드를 자동 생성해주는 라이브러리
    • getter, setter, constructor, toString, equals, loggin ...
  • Annotation을 사용하여 코드를 생성한다
    • @Getter, @Setter, @AllArgsConstructor

 

 

 

Lombok 주요 Annotation

  • @NoArgsConstructor
    • 파라미터가 없는 생성자를 생성
  • @AllArgsContructor
    • 모든 멤버 변수를 초기화하는 생성자를 생성
  • @Getter
    • 모든 멤버 변수에 대한 Getter 메소드를 생성
  • @Setter
    • 모든 멤버 변수에 대한 Setter 메소드를 생성
  • @ToString
    • 모든 멤버 변수의 데이터가 출력될 수 있도록 toString 메소드 자동 생성
  • @NonNull
    • 메소드 파라미터의 Null 체크 후 Null일 경우 NullPointerException 발생
  • @Slf4j
    • 로깅을 위한 Logger 객체 자동 생성

 

 

Lombok 사용 시 주의사항

  • @Setter와 @Getter의 남용
    • 객체에 대한 캡슐화가 깨질 가능성 존재
    • Setter의 경우 객체의 데이터 변경 가능
    • Getter의 경우 외부에 공개되면 안되는 데이터가 공개될 수 있음

 

 

 

 

728x90

댓글