기회는 준비된 자에게

2026-07-04 TIL / [Spring] BeanDefinition과 싱글톤 컨테이너 본문

기록/TIL

2026-07-04 TIL / [Spring] BeanDefinition과 싱글톤 컨테이너

아이쓰28 2026. 7. 5. 01:23

오늘 한 일

- LeetCode 스터디 코드 리뷰 및 복습

- 스프링 강의 수강

배운 것

- XML 기반 스프링 빈 설정

GenericXmlApplicationContext를 사용해 XML 파일로 스프링 빈을 설정하는 방법을 학습했다.

스프링 컨테이너는 설정 정보 자체가 자바 코드인지 XML인지에 직접 의존하지 않고, 최종적으로 생성된 BeanDefinition을 기반으로 빈을 관리한다.

즉, 설정 정보를 어떤 방식으로 작성하더라도 스프링 컨테이너는 BeanDefinition이라는 공통된 메타 정보를 통해 빈을 생성하고 관리한다는 것을 이해했다.

- 싱글톤 컨테이너

싱글톤 패턴의 개념과 단점을 학습했다.

직접 싱글톤 패턴을 구현하면 구현 코드가 필요하고, 구체 클래스에 의존하기 쉬우며, 테스트가 어려워지는 등의 단점이 있다.

스프링 컨테이너는 빈을 기본적으로 싱글톤으로 관리해주기 때문에 개발자가 직접 싱글톤 패턴을 구현하지 않아도 객체를 효율적으로 재사용할 수 있다.