본문 바로가기

springframework3

🍃빌드 시스템(Maven/Gradle) 이해 및 프로젝트 기본 구조 1. 빌드 시스템 및 리포지토리 (Maven vs Gradle)과거 레거시에서 쓰던 Ant 대신, 현재는 Maven이나 Gradle 같은 모던 빌드 시스템을 사용1) Maven 리포지토리 메커니즘리포지토리(Repository): 빌드에 필요한 Artifact(주로 .jar 라이브러리 파일)들을 저장하는 공간. pom.xml에 필요한 Dependency(의존성)를 선언하여 사용함.로컬 리포지토리 (.m2 폴더): 빌드 시스템이 라이브러리를 찾을 때 가장 먼저 확인하는 개인 PC 내의 로컬 경로.원격 리포지토리 (Maven Central Repository): 로컬(.m2)에 필요한 라이브러리가 없으면, 네트워크를 통해 자동으로 Maven Central 리포지토리에서 다운로드하여 로컬에 저장함.2) Mave.. 2026. 6. 19.
🍃자동 의존관계 주입 방법과 컴포넌트 스캔 1. 의존성(Dependency)과 주입(Injection)이란?스프링 프레임워크의 DI: 사용할 객체를 개발자가 직접 만들지 않고, 스프링에게 만들어서 주입하는 것을 위임한다. 이로 인해 객체의 제어권이 개발자에서 스프링으로 넘어가게 되는데, 이를 IoC(제어의 역전)라고 부르며, DI는 이 IoC를 구현하는 대표적인 방법.의존성 (Dependency): 한 클래스가 작동하기 위해 다른 클래스를 필요로 하는 상태를 말함(어떤 클래스가 내부 필드(멤버 변수)로 다른 클래스의 인스턴스를 가지는 것). 예: Car 클래스가 작동하려면 Engine 클래스가 필요함 (Car는 Engine에 의존한다)주입 (Injection): 외부에서 객체를 직접 생성하여 필요한 곳에 전달해 주는 행위.📊 과거 vs 현재과거.. 2026. 6. 17.
🍃스프링 컨테이너와 제어의 역전(IoC) 1. 제어의 역전 (IoC: Inversion of Control)내가 만들지 않고, 스프링이 대신 만들고 관리한다.기존 방식 (제어권이 개발자에게 있음): 개발자가 필요한 객체를 직접 생성(new Service())하고 다른 객체와의 의존관계를 직접 주입함(강한 결합). 프로그램의 흐름을 개발자가 완전히 제어하는 형태 (초기화 까지)역전된 방식 (IoC): 내가 객체를 직접 만들지 않고, 스프링 컨테이너(프레임 워크)라는 제3자에게 프로그램의 제어권을 넘겨주는 것. 즉, IoC가 적용되면, 컨테이너가 객체를 언제 생성하고, 언제 소멸시키며, 어떤 객체와 연결해 줄지를 알아서 결정.동작 방식: 개발자가 구성 메타데이터(Configuration Metadata)를 작성해 주면, 컨테이너가 이를 명세서로 삼.. 2026. 6. 17.