
IoC(제어의 역전)란? IoC는 객체의 생성, 관리, 연결 등의 제어권을 개발자로부터 프레임워크(or 컨테이너)로 위임하는 것을 말합니다. 이를 통해, 개발자는 객체의 의존성 관리보다 필요한 객체가 무엇인지 정의하는 것에 집중할 수 있습니다.

Bean 생명주기 관리란? > #### Bean이란? Bean은 IoC 컨테이너에 의해 관리되고 있는 재사용 가능한 객체를 의미합니다. Bean 생명주기 관리는 IoC 컨테이너의 주요 기능으로 생성 -> Bean의 등록, 생성(의존성 주입), 초기화, 사용, 소멸 과정을 관리하는 것을 의미합니다. 이 과정을 통해 객체 간의 관계를 자동으로 설정할 수 있습...

DI(의존성 주입)란? DI란 객체를 직접 생성하는 것이 아닌 외부에서 생성 후 주입하는 것을 말합니다. 즉, 객체간의 관계를 결정하는 주체가 자신(개발자)이 아닌 외부(프레임워크)에 있다는 것을 의미합니다. 이를 통해, 객체간의 느슨한 결합 형태를 만들 수 있습니다.

AOP란 핵심 관심 사항과 공통 관심 사항을 기준으로 모듈화하는 프로그래밍 방식을 말합니다. 이러한 방식은 OOP의 한계를 보완하기 위해 사용하는데, 핵심 관심 사항에 집중되어 있는 여러 클래스에서 발생한 동일한 작업을 수행하는 중복된 코드들을 모듈화하여 코드의 가독성

MVC 패턴은 애플리케이션을 다른 역할을 수행하는 3개의 계층(Model, View, Controller)으로 분리하여 관리하는 디자인 패턴입니다.MVC 패턴을 이해하기 위해서는 이를 구성하는 계층인 Model, View, Controller에 대한 역할을 이해하는 것

Filter란? Filter란 DispatcherServlet 외부에서 동작하며 HTTP 요청 및 응답을 가로채 추가 작업을 수행할 수 있도록 지원하는 인터페이스입니다. 즉, Spring MVC 내부 로직에 들어가기 전 또는 응답이 클라이언트에게 반환되기 전 특정 작업

JDBC는 자바 프로그램이 데이터베이스와 상호 작용할 수 있도록 도와주는 API입니다. 이를 사용해 데이터베이스에 접속하여 SQL 쿼리 실행 및 결과 처리, 트랜잭션 관리 등 다양한 데이터베이스 관련 작업을 수행할 수 있습니다.JDBC 드라이버는 Java 애플리케이션이

JDBC를 사용하여 데이터베이스를 사용하는 경우 다음과 같은 문제점들이 발생할 수 있습니다.Connection 생성 비용 높음매번 DriverManger.getConnection() 호출 시 연결 또는 인증 과정에 대한 오버헤드 발생 Connection 생성 시간 길어

@Transactional은 Spring에서 트랜잭션을 자동으로 관리할 수 있도록 제공하는 어노테이션입니다. 이 어노테이션을 메소드에 붙이면 해당 메소드 내의 모든 데이터베이스 접근 작업을 하나의 트랜잭션으로 관리할 수 있습니다.@Transactional를 선언하여 사

Spring AOP를 공부하면서 프록시 객체를 접하게 되었습니다. 프록시 객체는 쉽게 말하면, 비서라고 할 수 있습니다. 누군가 요청을 하면, 그에 필요한 부가적인 작업들을 대신 수행하게 됩니다. 이 프록시 객체를 생성하는 방법인 JDK 동적 Proxy 방식과 CGLI

@Controller는 전통적인 MVC 패턴에서 View를 반환할 때 사용하는 어노테이션 입니다. 반환 값이 View 이름으로 해석되어 JSP, Thymeleaf 등 템플릿 엔진을 통해 HTML 응답을 생섭합니다. 만약, Json과 같은 형식으로 반환하기 위해선 @Re

@RequestBody는 HTTP 요청 본문(Body)의 JSON 등 데이터를 자바 객체로 변환한 뒤, 해당 객체를 Controller 메서드의 파라미터로 주입하는 어노테이션입니다. 동작 과정은 아래와 같습니다.@RequestParam은 HTTP 요청의 Query St