2025/12/18 2

Spring Bean의 생명주기(Lifecycle) - 객체 생성부터 소멸까지

Spring을 사용하다 보면 "Bean이 언제 생성되고 언제 사라지는 걸까?"라는 궁금증이 생길 때가 있습니다. 특히 데이터베이스 연결이나 네트워크 소켓처럼 애플리케이션 시작 시 미리 연결해두고, 종료 시 안전하게 끊어야 하는 리소스를 다룰 때 이 생명주기를 정확히 이해하는 것이 중요합니다.처음 Spring을 배울 때는 그냥 @Component나 @Service를 붙이면 알아서 다 해주겠거니 했는데, 실제로 운영 환경에서 리소스 누수 문제를 겪고 나서야 생명주기의 중요성을 깨닫게 되었습니다.Spring Bean의 생명주기란?Spring Bean은 스프링 컨테이너가 관리하는 자바 객체입니다. 일반적인 자바 객체는 new 키워드로 생성하고 참조가 사라지면 GC(Garbage Collector)가 알아서 정리..

DI(의존성 주입)과 IoC(제어의 역전): 왜 우리가 직접 new를 안 쓸까?

Spring을 사용하다 보면 자연스럽게 @Autowired나 생성자 주입을 쓰게 됩니다. 그런데 문득 생각해보면, 왜 우리가 직접 new로 객체를 생성하지 않는 걸까요? 이미 익숙하게 사용하고 있지만, 한 번쯤 개념을 정리해두면 좋을 것 같아서 글을 써봅니다.의존성(Dependency)이란?먼저 "의존성"이 무엇인지부터 짚어보겠습니다.public class OrderService { private PaymentProcessor paymentProcessor = new PaymentProcessor(); public void processOrder(Order order) { paymentProcessor.pay(order.getAmount()); }} 위 코드에서 OrderSe..