wintertreey 님의 블로그
[게시판] dto formbean의 차이, lombok 기능 본문
게시판을 위해 데이터를 담을 저장소, dto와 formbean을 만들어주자.
dto나 bean 둘다 저장소라는 공통점이 있다.
그렇다면 하나만 만들면 되지 왜 두개를 다 만들어야할까? 둘의 차이는 무엇일까?
https://velog.io/@horange/Dto%EC%99%80-Bean%EC%9D%98-%EC%B0%A8%EC%9D%B4
DTO와 Bean의 차이
Dto와 Bean은 상황에 따라 선택한다.
velog.io
DTO(Data Transfer Object)
데이터 전송을 위한 객체이다. 주로 데이터를 저장하고 전송하는 용도로 사용되며, 데이터베이스나 서비스와의 데이터 교환을 간단하게 하기 위해 사용된다. 즉 DTO는 데이터의 속성을 저장하는데 중점을 둔다.
package pack.board;
import java.time.LocalDate;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Data
public class BoardFormBean {
private String name, pass, mail, title, cont, bip, bdate;
private int num, readcnt, gnum, onum, nested;
public void setBdate() { //overloading
LocalDate now = LocalDate.now();
int year= now.getYear();
int month= now.getMonthValue();
int day = now.getDayOfMonth();
this.bdate= year+"-"+month+"-"+day;
}
}
Bean
데이터 저장과 함께 비즈니스 로직과 기능을 가질 수 있는 객체이다. 보통 자바빈 규약에 따라 작성되며, 데이터의 접근자(getter)와 설정자(setter) 메서드뿐만 아니라 추가적인 로직을 포함할 수 있다.
package pack.board;
import java.time.LocalDate;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Data
public class BoardFormBean {
private String name, pass, mail, title, cont, bip, bdate;
private int num, readcnt, gnum, onum, nested;
public void setBdate() { //overloading
LocalDate now = LocalDate.now();
int year= now.getYear();
int month= now.getMonthValue();
int day = now.getDayOfMonth();
this.bdate= year+"-"+month+"-"+day;
}
}
이때 작성자의 편의성을 위해 롬복을 환경설정해준것이다.
++ 롬복의 기능!
https://velog.io/@juhyeon1114/Lombok-%EB%A1%AC%EB%B3%B5-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
Lombok(롬복) 사용하기
어노테이션의 마술사(?) Lombok을 알아보자! Spice up your code 🔥
velog.io
Lombok(롬복)
Lombok은 자바의 Annotation processsor라는 기능을 이용해서 컴파일 시점에 Lombok의 어노테이션을 읽어서, 다양한 메스드와 생성자(getter, setter, constructor등등)를 생성해주는 라이브러리이다.
즉, 개발자가 해야하는 기본적이고 반복적인 일들을 정해진 위치에 @어노테이션만 붙여주면, Lombok이 이런 일들을 대신 해주는 것이다.
'프로젝트 > 쇼핑몰웹' 카테고리의 다른 글
[게시판] 게시판 메인화면 / jsp 액션태그. form 태그 get post 방식 (1) | 2024.06.30 |
---|---|
[게시판] 다이어그램 및 DB만들기 (0) | 2024.06.30 |
환경세팅 / lombok 설치오류, unknown database 에러 (1) | 2024.06.30 |