Spring boot5 [Spring boot] - DTO와 Entity에 대해 Spring Boot로 개발하다 보면, Entity 형태로 리턴하지 말고, DTO로 변환 후 리턴해야 한다고 나온다.오늘은 DTO와 Entity의 개념을 간단히 정리하고, DTO와 Entity를 분리해야 하는 이유에 대해 포스팅해보겠다. DTO (Data Transfer Object)란?DTO란 계층 간의 데이터 교환 시 사용하는 객체를 의미한다.주로 클라이언트와 서버 간의 데이터 교환을 위해 사용된다.=> 로직을 가지지 않으며, getter & setter 메서드만 가진다. (데이터를 전달하고, 전달받는 메서드들) 아래는 DTO 클래스의 예시이다.@Getter@Setter@NoArgsConstructor@ToStringpublic class MemberDTO { private String Id; .. 2025. 2. 12. [Spring boot] - Controller, Service, Repository 오늘은 스프링 부트에서 Controller, Service, Repository의 각 역할과 상호작용에 대하여 간단히 포스팅해보도록 하겠다.ControllerClient와 상호작용사용자 요청을 받아 Service로 전달하며, 처리 결과를 응답하여 사용자에게 반환한다. Front-end와 연관지어서 생각한다면, 프론트(웹)으로부터의 요청에서 데이터를 받은 후 Service에 넘기면서 Service를 호출한다고 보면 된다.모든 로직이 수행된 이후에는, 그 결과가 화면에 나타나도록 View에 전달하는 역할도 한다.@Controller@RequiredArgsConstructorpublic class MemberController { // 생성자 private final MemberService mem.. 2025. 2. 11. [Spring boot] - 스프링 부트 프로젝트 구조 (계층형 vs 도메인형) Spring Boot 프로젝트를 세팅하게 되면, 패키지를 Model, View, Controller로 나누는 MVC 패턴을 일반적으로 사용한다.MVC 패턴은 각 패키지의 역할이 명확하게 구분되어 있어 코드의 관리가 쉽다는 장점이 있다. 이러한 일반적인 계층형 구조가 바로 이 MVC 패턴을 말하는 것이다. 하지만 Spring Boot 프로젝트는 계층형 말고도 도메인형 구조로도 설계할 수 있다.계층형 구조(Layered Architecture)와, 도메인형 구조(Domain-Driven Design)의 특징 및 장단점에 대해 알아보자.계층형 구조 (Layered Architecture)프로젝트를 기능에 따라 계층적으로 나눈다.쉽게 말해, controller 파일들은 전부 controller 디렉토리에, .. 2025. 2. 9. [Spring boot] - Entity 개념 정리 1. Entity(엔터티)란?Entity 클래스는 실제 DB 테이블과 매핑되는 클래스로, 데이터베이스의 테이블에 존재하는 컬럼들을 필드로 가진다.=> 데이터베이스와의 상호작용을 담당한다고 이해하면 된다!필드의 데이터 타입이 자동으로 데이터베이스의 컬럼과 매핑된다.2. Entity에 쓰이는 annotation 종류@Entity이 클래스를 JPA의 엔티티로 사용하겠다는 것을 명시 @Table 엔티티와 매핑할 데이터베이스의 테이블명을 지정할 때 사용한다.일반적으로 entity와 실제 db의 테이블명이 일치하도록 구성하지만, 간혹 그렇지 못할 경우에 유용한다.@Entity@Table(name="database")public class db_entity {...}예를 들면 db에 저장되어있는 실제 table의 .. 2025. 2. 8. [Spring Boot] - application.yml 설정하기 (application.properties와의 차이점) Spring boot로 프로젝트를 생성하면, appication.properties라는 파일이 resource 폴더 안에 생성된 것을 확인할 수 있다. 하지만 많은 Spring boot 강의에서, application.properties를 사용하지 않고, application.yml이라는 파일로 대체해서 사용한다. 오늘은 application.yml이 어떤 기능에 쓰이는지, 그리고 application.properties와의 차이점은 무엇인지 알아보려고 한다. application.properties와 application.yml이란?스프링 부트가 실행되면 자동으로 로딩되는 파일이다. 스프링 부트 프로젝트 내에서 공통적으로 설정되는 정보들을 관리하기 위한 파일이다. 또한, 프로젝트 개발 시 외부에서 데이.. 2025. 2. 6. 이전 1 다음