Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

wintertreey 님의 블로그

[게시판] dto formbean의 차이, lombok 기능 본문

쇼핑몰웹

[게시판] dto formbean의 차이, lombok 기능

wintertreey 2024. 6. 30. 22:50

게시판을 위해 데이터를 담을 저장소, 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이 이런 일들을 대신 해주는 것이다.