본문 바로가기

Bean2

[Spring 기본] 싱글톤 컨테이너 (Singleton Container) ■ 웹 애플리케이션과 싱글톤 - 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생 - 대부분이 웹 애플리케이션 / 웹이 아닌 개발도 얼마든지 개발 가능 - 웹 애플리케이션은 보통 여러 고객이 동시 요청 - 기존에 만들었던 스프링 없는 순수한 DI 컨테이너인 AppConfig는 요청 할 때마다 객체 새로 생성 - 메모리 낭비 → 해결방안: 싱글톤 패턴!! ■ 싱글톤 패턴 - 클래스의 인스턴스(객체)가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 - 객체 인스턴스를 2개 이상 생성하지 못하도록 방지 → private 생성자를 사용해 외부에서 임의로 new 키워드를 사용하지 못하도록 함 ■ 싱글톤 패턴 구현 방법 - static 영역에 객체 instance를 미리 하나 생성 - 오직 getInstan.. 2023. 8. 3.
[Spring 기본] 스프링 컨테이너/스프링 빈 (Spring Container/Bean) 스프링 컨테이너: 스프링 컨테이너는 스프링 빈의 생명 주기를 관리하며, 생성된 스프링 빈들에게 추가적인 기능을 제공하는 역할을 한다. IoC와 DI의 원리가 스프링 컨테이너에 적용된다. 개발자는 new 연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 소멸하지만, 스프링 컨테이너를 사용하면 해당 역할을 대신해 준다. 즉, 제어 흐름을 외부에서 관리하고, 객체들 간의 의존 관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 준다. 스프링 빈: 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다. 스프링 컨테이너 XML 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있음 ex) ApplicationContext, BeanFactory ● 스프링 컨테이너.. 2023. 8. 2.