스프링 요약

CDH·2025년 4월 16일
post-thumbnail

CRUD

<form actio"<url>" method = "post | get | put | delete "> ... </form>


DTO(Data Transfer Object), VO(Valueable Object)

  • 정의 : 데이터를 한 곳에서 다른 곳으로 전달하기 위한 "순수한 데이터 컨테이너" 객체

  • DTO는 읽기와 수정, VO 는 데이터를 주고 받을 때 읽기 전용

  • Domain 은 자바 관점, Entity(DB 관점)

참고 : Entity는 Service Repository 계층 간 데이터 교환 시 사용

  • Service 계층에서는 DTO와 Entity를 변환하는 메소드가 존재함

lombok 코드 비교 (boilerplate code)

  • lombok : Java 개발에서 반복적인 코드(boilerplate code)를 줄이기 위해 사용하는 라이브러리
public class UserDTO {
    private String name;
    private int age;

    public UserDTO() {}

    public UserDTO(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}

위는 기존 코드


아래는 lombok 사용

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserDTO {
    private String name;
    private int age;
}

@NoArgsConstructor, @AllArgsConstructor


어노테이션 종류와 의미

@Getter / @Setter

  • 모든 필드에 대해 getter/setter 자동 생성

@ToString

  • toString() 메서드 자동 생성

@EqualsAndHashCode

  • equals()와 hashCode() 자동 생성 (Java의 Lombok 어노테이션)

@NoArgsConstructor

  • 기본 생성자 생성

@AllArgsConstructor

  • 모든 필드 생성자 생성

@RequiredArgsConstructor

  • final 또는 @NonNull 필드만 생성자 생성

@Data

  • @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 모두 포함

@Builder

  • 빌더 패턴 코드 자동 생성@Slf4j 로그 객체 log 자동 생성 (LoggerFactory.getLogger())

JCF, List, ResultSet

  • JCF(Java Collection Framework) : 자바에서 집합 객체를 효율적으로 다루기 위한 프레임워크
  • List : Linked List 를 정의한 인터페이스, add / get 으로 객체(원소)를 추가/조회(+삭제) 하는 자료구조
  • ResultSet : 질의 결과를 처리하는 객체, getXXX / setXXX 메소드로 원소(레코드)를 접근하는 객체

0개의 댓글