2025/11(5)
-
ETC./Spring
2025.11.19
1
[Spring] 스프링 JPA란 무엇인가? - 동작 원리와 처리 흐름 정리
스프링에서 DB 연동을 할 때 MyBatis와 함께 가장 많이 사용되는 기술이 바로 JPA(Java Persistence API)입니다. JPA는 SQL을 직접 작성하기보다, 엔티티(Entity)와 매핑 정보만 정의해두면 나머지 CRUD SQL을 자동으로 생성하고 실행해 주는 방식의 표준 ORM 기술입니다. 이번 글에서는 Spring과 JPA가 함께 동작하는 방식과 전체 처리 흐름을 정리해보려고 합니다. JPA란 무엇인가?JPA는 자바 진영에서 정의한 ORM(Object-Relational Mapping) 표준 스펙입니다. 실제 구현체로는 Hibernate, EclipseLink 등이 있고, 스프링 부트에서는 보통 Hibernate JPA를 기본 구현체로 사용합니다.개발자는 엔티티 클래스 + 매핑 어노테..
-
ETC./Spring
2025.11.18
[Spring] 스프링 MyBatis란 무엇인가? - 동작 원리와 처리 흐름 정리
스프링에서 DB 연동을 할 때 JPA와 함께 가장 많이 사용되는 기술이 바로 MyBatis(마이바티스)입니다. 실무에서는 JPA보다 훨씬 높은 비중으로 MyBatis를 사용하고 있어요. 특히 MyBatis는 SQL을 직접 작성할 수 있기 때문에 복잡한 쿼리를 다루거나 SQL 튜닝이 중요한 프로젝트에서 많이 사용됩니다. 이번 글에서는 Spring과 MyBatis가 함께 동작하는 방식과 전체 처리 흐름을 정리해보려고 합니다. MyBatis란 무엇인가?MyBatis는 개발자가 직접 SQL을 작성하고, 해당 SQL 결과를 자바 객체로 매핑해주는 Persistence Framework입니다. JPA처럼 자동으로 SQL을 생성해주는 ORM 방식이 아니라, 원하는 SQL을 직접 작성해서 그대로 실행하는 방식이기 때문..
-
ETC./Spring
2025.11.17
[Spring] 스프링 프레임워크 MVC 처리 프로세스 - DispatcherServlet
스프링 웹 애플리케이션을 개발하다 보면 컨트롤러만 만들고 어노테이션만 붙이다 보면 “요청이 들어와서 응답이 나갈 때까지, 스프링 내부에서는 어떤 일이 일어날까?”가 궁금해지죠. 이번 글에서는 Spring MVC의 전체 요청 처리 프로세스를 한 번 정리해보려고 합니다. Spring MVC란 무엇인가?Spring MVC는 이름 그대로 Model, View, Controller 구조로 웹 애플리케이션을 구성하는 웹 프레임워크입니다. 클라이언트의 HTTP 요청을 받아서 컨트롤러로 전달하고, 비즈니스 로직을 수행한 뒤 View(화면)를 렌더링해서 응답을 돌려주는 일을 담당합니다. 우리가 주로 작성하는 것은 @Controller, @RestController 같은 컨트롤러 코드이지만, 그 뒤에서는 Dispatche..
-
ETC./Spring
2025.11.16
2
[Spring] 스프링 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)
스프링을 처음 공부하다 보면 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)이라는 내용이 나오는데요. 관점 지향 프로그래밍이니 Aspect Oriented Programming 이라는 어려운 용어를 들으면 어렵게 느껴지지만, 결국에는 흩어져 있는 공통 관심사를 한 곳에 모아서 관리하는 기법이라고 이해하시면 훨씬 편합니다. 이번 글에서는 스프링에서 AOP가 왜 필요하고, 어떻게 동작하는지 한 번 정리해보려고 합니다. AOP란 무엇인가?전통적인 객체지향 프로그래밍(OOP)에서는 보통 도메인 별로 클래스를 나누고, 각 클래스 안에 해당 도메인의 책임을 모아둡니다. 하지만 실제 서비스를 만들다 보면 다음과 같은 코드가 여러 레이어에 반복되는 경우가 많습니다.요청/응답 로그 남기..
-
ETC./Spring
2025.11.15
[Spring] 스프링 IoC(제어의 역전), DI(의존성 주입) 완벽 이해하기
스프링을 처음 접하면 만나게 개념이 바로 DI(Dependency Injection, 의존성 주입)와 IoC(Inversion of Control, 제어의 역전)입니다. 이 제어의 역전(IoC)과 의존성 주입(DI)은 객체지향 프로그래밍에서 코드의 유연성과 유지보수성을 높이는 데 중요한 설계 패턴으로 한번 구조를 정확히 이해하면 유지보수와 확장성 면에서 큰 장점을 얻을 수 있습니다. 오늘은 Spring DI와 IoC를 쉽게 정리해보려고 합니다. IoC(Inversion of Control)란 무엇인가?전통적인 자바 애플리케이션에서는 객체가 스스로 의존하는 객체를 만들고 제어했습니다. 예를 들어 서비스가 레포지토리를 직접 생성하는 방식이죠.public class MemberService { priva..
-
ETC./Spring 2025.11.19 1[Spring] 스프링 JPA란 무엇인가? - 동작 원리와 처리 흐름 정리 스프링에서 DB 연동을 할 때 MyBatis와 함께 가장 많이 사용되는 기술이 바로 JPA(Java Persistence API)입니다. JPA는 SQL을 직접 작성하기보다, 엔티티(Entity)와 매핑 정보만 정의해두면 나머지 CRUD SQL을 자동으로 생성하고 실행해 주는 방식의 표준 ORM 기술입니다. 이번 글에서는 Spring과 JPA가 함께 동작하는 방식과 전체 처리 흐름을 정리해보려고 합니다. JPA란 무엇인가?JPA는 자바 진영에서 정의한 ORM(Object-Relational Mapping) 표준 스펙입니다. 실제 구현체로는 Hibernate, EclipseLink 등이 있고, 스프링 부트에서는 보통 Hibernate JPA를 기본 구현체로 사용합니다.개발자는 엔티티 클래스 + 매핑 어노테.. -
ETC./Spring 2025.11.18[Spring] 스프링 MyBatis란 무엇인가? - 동작 원리와 처리 흐름 정리 스프링에서 DB 연동을 할 때 JPA와 함께 가장 많이 사용되는 기술이 바로 MyBatis(마이바티스)입니다. 실무에서는 JPA보다 훨씬 높은 비중으로 MyBatis를 사용하고 있어요. 특히 MyBatis는 SQL을 직접 작성할 수 있기 때문에 복잡한 쿼리를 다루거나 SQL 튜닝이 중요한 프로젝트에서 많이 사용됩니다. 이번 글에서는 Spring과 MyBatis가 함께 동작하는 방식과 전체 처리 흐름을 정리해보려고 합니다. MyBatis란 무엇인가?MyBatis는 개발자가 직접 SQL을 작성하고, 해당 SQL 결과를 자바 객체로 매핑해주는 Persistence Framework입니다. JPA처럼 자동으로 SQL을 생성해주는 ORM 방식이 아니라, 원하는 SQL을 직접 작성해서 그대로 실행하는 방식이기 때문.. -
ETC./Spring 2025.11.17[Spring] 스프링 프레임워크 MVC 처리 프로세스 - DispatcherServlet 스프링 웹 애플리케이션을 개발하다 보면 컨트롤러만 만들고 어노테이션만 붙이다 보면 “요청이 들어와서 응답이 나갈 때까지, 스프링 내부에서는 어떤 일이 일어날까?”가 궁금해지죠. 이번 글에서는 Spring MVC의 전체 요청 처리 프로세스를 한 번 정리해보려고 합니다. Spring MVC란 무엇인가?Spring MVC는 이름 그대로 Model, View, Controller 구조로 웹 애플리케이션을 구성하는 웹 프레임워크입니다. 클라이언트의 HTTP 요청을 받아서 컨트롤러로 전달하고, 비즈니스 로직을 수행한 뒤 View(화면)를 렌더링해서 응답을 돌려주는 일을 담당합니다. 우리가 주로 작성하는 것은 @Controller, @RestController 같은 컨트롤러 코드이지만, 그 뒤에서는 Dispatche.. -
ETC./Spring 2025.11.16 2[Spring] 스프링 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍) 스프링을 처음 공부하다 보면 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)이라는 내용이 나오는데요. 관점 지향 프로그래밍이니 Aspect Oriented Programming 이라는 어려운 용어를 들으면 어렵게 느껴지지만, 결국에는 흩어져 있는 공통 관심사를 한 곳에 모아서 관리하는 기법이라고 이해하시면 훨씬 편합니다. 이번 글에서는 스프링에서 AOP가 왜 필요하고, 어떻게 동작하는지 한 번 정리해보려고 합니다. AOP란 무엇인가?전통적인 객체지향 프로그래밍(OOP)에서는 보통 도메인 별로 클래스를 나누고, 각 클래스 안에 해당 도메인의 책임을 모아둡니다. 하지만 실제 서비스를 만들다 보면 다음과 같은 코드가 여러 레이어에 반복되는 경우가 많습니다.요청/응답 로그 남기.. -
ETC./Spring 2025.11.15[Spring] 스프링 IoC(제어의 역전), DI(의존성 주입) 완벽 이해하기 스프링을 처음 접하면 만나게 개념이 바로 DI(Dependency Injection, 의존성 주입)와 IoC(Inversion of Control, 제어의 역전)입니다. 이 제어의 역전(IoC)과 의존성 주입(DI)은 객체지향 프로그래밍에서 코드의 유연성과 유지보수성을 높이는 데 중요한 설계 패턴으로 한번 구조를 정확히 이해하면 유지보수와 확장성 면에서 큰 장점을 얻을 수 있습니다. 오늘은 Spring DI와 IoC를 쉽게 정리해보려고 합니다. IoC(Inversion of Control)란 무엇인가?전통적인 자바 애플리케이션에서는 객체가 스스로 의존하는 객체를 만들고 제어했습니다. 예를 들어 서비스가 레포지토리를 직접 생성하는 방식이죠.public class MemberService { priva..