인프런
[Spring] 핵심원리 기본편 - 컴포넌트 스캔
컴포넌트 스캔과 의존관계 주입 개념은 연결되어 있다. 이번 강의에서는 컴포넌트 스캔에 대해 먼저 알아보자. 컴포넌트 스캔과 의존관계 자동 주입 시작하기 지금까지는 스프링 빈을 등록할 때 자바 코드의 @Bean이나 XML의 태그를 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. 그런데 이렇게 등록해야할 빈이 수십, 수백 개가 되면 직접 등록하는 데에 한계가 있다. 따라서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능과 의존관계를 자동으로 주입하는 @Autowired라는 기능을 제공한다. AutoAppConfig.class를 작성해보자. @Configuration @ComponentScan( // 컴포넌트 스캔 기능을 위해. @Component가 붙은 클래스들을 ..
[Spring] 핵심원리 기본편 - 싱글톤 컨테이너
싱글톤 패턴이란 간단하게 말하자면 클래스의 인스턴스가 하나만 존재해야한다는 패턴이다. 아래에서 좀 더 자세히 알아보자. 웹 애플리케이션과 싱글톤 스프링은 주로 웹 애플리케이션에 많이 사용된다. 일반적인 웹 애플리케이션은 여러명의 사용자가 요청을 날린다. 그런데 우리가 이전에 만들었던 스프링 없는 순수한 DI 컨테이너인 AppConfig는 요청을 할 때마다 객체를 새로 생성한다. 사용자가 많아지면 그 방식은 메모리 낭비가 심하다. 따라서 '싱글톤 패턴'을 이용해 객체 딱 1개만 생성해서 공유하도록 한다. 싱글톤 패턴 그럼 이제 싱글톤 패턴이 무엇인지 자세히 알아보자. 한마디로 하자면 싱글톤 패턴은 '클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴'이다. 아래와 같이 클래스를 정의하면 싱글..