Controller, Service, Repository, 직렬화, 역직렬화

Jung·2021년 11월 8일
0

TIL

목록 보기
46/77
post-thumbnail

Controller, Service, Repository

이 그림도 만들어봤다...

Controller

외부의 요청을 받아 Service로 넘긴 후 결과를 클라이언트에 반환

Service

핵심 비즈니스 로직 수행

  • 비즈니스 로직: 서버에서 사용자의 요구사항 처리

Repository

DB에 접근해 데이터 CRUD

DAO (Data Access Object)

DB의 데이터에 접근하기 위한 객체
DB CRUD 작업

DTO (Data Transfer Object)

로직을 갖고 있지 않는 순수한 데이터 객체
속성과 그 속성에 접근하기 위한 getter, setter 메소드만 가진 클래스

직렬화, 역직렬화

직렬화 (Serialization)

직렬화는 객체를 저장하거나 메모리, 데이터베이스 또는 파일로 전송하기 위해 객체를 바이트 스트림으로 변환하는 프로세스이다.

주로 Hibernate, RMI, JPA, EJB 및 JMS 기술에 사용된다.

직렬화 용도

직렬화는 개발자가 객체의 상태를 저장하고 필요에 따라 객체를 다시 만들 수 있게 함으로써 데이터 교환뿐만 아니라 객체 스토리지 기능도 제공한다. 직렬화를 통해 개발자는 다음과 같은 작업을 수행할 수 있다.

  • 웹 서비스를 사용하여 원격 애플리케이션에 객체 보내기
  • 한 도메인에서 다른 도메인으로 객체 전달
  • 방화벽을 통해 JSON 또는 XML 문자열로 객체 전달
  • 애플리케이션 간에 보안 또는 사용자 관련 정보 유지

역직렬화

역직렬화는 직렬화된 파일 등을 역으로 직렬화하여 다시 객체의 형태로 만드는 것을 의미한다.

저장된 파일을 읽거나 전송된 스트림 데이터를 읽어 원래 객체의 형태로 복원한다.

참고
“스프링과 Dao, DTO, Repository, Entity.” Velog, https://velog.io/@agugu95/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%8C%A8%ED%84%B4%EA%B3%BC-DAO-DTO-Repository.

Chung-A. “[Springboot]Springdatajpa를 활용하여 회원가입 예제- Controller,Service,Repository의 역할및 구현.” 춍춍 블로그, TISTORY, 17 Feb. 2021, https://chung-develop.tistory.com/23.

BillWagner. “Serialization.” Microsoft Docs, https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/concepts/serialization/.

“Serialization in Java - Javatpoint.” Www.javatpoint.com, https://www.javatpoint.com/serialization-in-java.

profile
97kim.github.io

0개의 댓글