Web/Java (Spring+JSP)
Spring 핵심 원리 #8- 싱글톤 컨테이너
#웹 애플리케이션과 싱글톤 - 스프링은 태생이 기업용 온라인 서비스를 지원하기 위해 만들어졌으며, 대부분의 스프링 어플리케이션은 웹 어플리케이션이다. 웹 어플리케이션에서는 보통 여러 고객이 동시에 요청을 한다. void pureContainer(){ AppConfig appConfig= new AppConfig(); //1. 조회: 호출할 때마다 객체를 생성 MemberService memberService1= appConfig.memberService(); //2. 조회: 호출할 때마다 객체를 생성 MemberService memberService2= appConfig.memberService(); //두 객체는 다른 객체이며, 매번 새로운 객체가 생성된다 assertThat(memberService1..
Spring 핵심 원리 #7- 스프링 컨테이너 관련 인터페이스
#BeanFactory & ApplicationContext 1) BeanFactory - 스프링 컨테이너의 최상위 인터페이스로, 스프링 빈을 관리하고 조회하는 역할을 담당한다. - getBean()을 제공하는 역할을 하며, 우리가 사용했던 대부분의 기능은 BeanFactory가 제공하는 기능이다. 2)ApplicationContext - BeanFactory의 기능을 모두 상속받아서 제공하며, 빈을 관리하고 조회하는 기능은 물론 수많은 부가기능을 제공한다. EX) 국제화 기능, 환경변수(로컬 환경,개발 환경, 운영 환경을 구분해서 처리), 애플리케이션 이벤트, 편리한 리소스 조회.. - BeanFactory를 직접 사용할 일은 거의 없으며, 부가기능이 포함된 ApplicationContext를 주로 사..
Spring 핵심 원리 #6- 스프링 컨테이너 생성과 등록된 빈 조회
# 스프링 컨테이너 ApplicationContext AC=new AnnotationConfigApplicationContext(AppConfig.class); //자동으로 AppConfig의 bean들을 spring container에 넣어서 관리해줌 //스프링 ApplicationContext를 통해 찾아와야함 - ApplicationContext를 스프링 컨테이너라고 하며, 이는 인터페이스이다. : 스프링 컨테이너는 XML로도, 애노테이션 기반의 자바 설정 클래스로도 만들 수 있으며 현재는 후자가 더 많이 사용된다. - new AnnotationConfigApplicationContext(AppConfig.class) 은 위의 ApplicationContext 인터페이스의 구현체이다. # 스프링 컨..