[Spring JPA] 즉시로딩과 지연로딩
·
Spring
JPA에서는 데이터를 조회할 때 즉시 로딩(EAGER)과 지연로딩(LAZY) 두 가지 방식이 있다.즉시 로딩은 데이터를 조회할 때 연관된 데이터까지 한 번에 불러오는 것, 지연 로딩은 필요한 시점에 연관된 데이터를 불러오는 것이라고 할 수 있다. Fetch Type이란FetchType이란, JPA가 하나의 Entity를 조회할 때, 연관관계에 있는 객체들을 어떻게 가져올 것이냐를 나타내는 설정값이다.JPA는 ORM 기술로, 사용자가 직접 쿼리를 생성하지 않고, JPA에서 JPQL을 이용하여 쿼리문을 생성하기 때문에 객체와 필드를 보고 쿼리를 생성한다.따라서, 다른 객체와 연관관계 매핑이 되어있으면 그 객체들까지 조회하게 되는데, 이때 이 객체를 어떻게 불러올 것인가를 설정할 수 있다.fetch의 디폴트 ..
[Spring] Spring MVC란 무엇인가?
·
Spring
MVC 패턴이란?MVC 패턴은 애플리케이션의 구조를 Model, View, Controller 세 가지 역할로 분리하여 개발하는 디자인 패턴이 패턴을 사용하면 유지보수성과 확장성이 높아지고, 각 역할에 집중할 수 있어 개발의 효율성이 증가한다.MVC 패턴을 사용하는 이유역할 분리를 통해 코드의 가독성과 유지보수성 향상중복 코드 제거시스템 간의 결합도 감소애플리케이션의 확장성과 유연성 증가MVC 구성 요소🔹 Model 데이터와 비즈니스 로직을 담당요청을 처리한 결과 데이터를 생성하여 View에 전달🔹 View사용자에게 보여지는 UI 요소를 담당Model 데이터를 기반으로 화면 출력을 담당HTML, PDF, Excel, XML, JSON 등 다양한 형태 지원🔹 Controller클라이언트의 요청을 받아..
[Spring] @RestController와 @Controller의 차이
·
Spring
1. 응답 방식의 근본적인 차이@Controller이 어노테이션이 붙은 클래스는 전통적인 Spring MVC 컨트롤러 역할을 합니다. 주요 목적은 Model 객체에 데이터를 담아 View(예: HTML, JSP)를 찾아 반환하는 것입니다. 즉, 서버 사이드 렌더링(SSR) 방식의 웹 애플리케이션에서 주로 사용되며, 클라이언트에게 완전한 웹 페이지를 전달합니다.@RestController이 어노테이션은 RESTful 웹 서비스를 구축하는 데 특화된 컨트롤러입니다. @Controller와 달리 View를 찾지 않고, 메서드가 반환하는 객체 데이터를 HTTP 응답 본문에 직접 담아 전송합니다. 주로 JSON이나 XML 형식으로 데이터를 주고받는 API 서버(백엔드)에서 사용되며, 클라이언트(프론트엔드, 모바일..