스프링이란 JAVA언어를 기반으로한 웹 프레임워크
간단히 말해, JAVA개발을 편하게 도와주는 프레임워크 정도로 생각하면 될 것 같다.
스프링 데이터
스프링 시큐리티
스프링 배치
AnnotationConfigApplicationContext
GenericXmlApplicationContext
ApplicationContext
별도로 설정을 하지 않을 경우 스프링은 한 개의 빈 객체만을 생성하며, 이때 빈 객체는 "싱글톤(Singleton)" 범위를 갖는다고 표현한다.
단일 객체를 의미하는데, 결국 스프링은 기본적으로 한 개의 @Bean에 대해 한 개의 빈 객체를 생성한다.
Member mem1 = ctx.getBean("member", Member.class);
Member mem2 = ctx.getBean("member", Member.class);
System.out.println(mem1 == mem2);
>> true