스프링 면접 질문 3

[백엔드 스터디] 4주차 - 컴포넌트 스캔 그리고 의존관계 자동 주입

이번 4주차 주제는 컴포넌트 스캔 그리고 의존관계 자동 주입이다. 컴포넌트 스캔이란? 스프링 빈을 등록할 때 구성파일에 @Bean을 등록해서 사용할 수 있었다. 하지만 관리할 빈이 많아지면 이 방식이 관리하기 번거로워진다. 그래서 굳이 빈 설정파일을 만들지 않거나 @Bean을 안쓰고 빈 등록을 할 수 있는 방식을 쓰게 되었다. 그게 @Component를 써서 컴포넌트 스캔을 하는 방식이다. 설정파일이 없다면 의존관계를 어떻게 주입할까? @Autowired를 사용해서 자동 의존관계 주입을 한다. 자동 의존관계 주입은 아래서 살펴본다. 컴포넌트 스캔이란 스프링이 스프링 빈으로 등록될 준비가 된 클래스들을 스캔해서 빈으로 등록해주는 과정을 말한다. @Component 어노테이션이 붙어있는 클래스들은 모두 컴포..

[백엔드 스터디] 2주차 - Spring Container(ApplicationContext)

2주차 백엔드 스터디에서는 Spring Container(ApplicationContext)에 대해 알아보고자 한다. Container란? 스프링에서 컨텍스트(Context)는 스프링이 관리하는 빈들이 담겨 있는 컨테이너라고 이해하면 된다. ApplicationContext란? ApplicationContext는 BeanFactory의 모든 기능을 포함하며, BeanFactory보다 추천되는 개념이다. 트랜잭션 처리, AOP에 대한 처리를 할 수 있으며 BeanPostProcessor, BeanFactoryPostProcessor 등을 자동으로 등록하고, 국제화 처리, 어플리케이션 이벤트 등을 처리할 수 있다. 스프링 컨테이너라고 말하면 일반적으로 ApplicationContext를 의미한다고 보면 된다..

[백엔드 스터디] 1주차 - DI, IoC 그리고 DI Container

백엔드 스터디 1주차 내용을 정리하고자 합니다. 1주차에 다루고자 하는 내용은 DI, IOC 그리고 DI Container 입니다. DI 란? Dependency Injection은 의존성 주입이라고 부릅니다. 쉽게 말해 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴입니다. 인터페이스를 사이에 둬서 클래스 레벨에서 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입해서 유연성을 확보하면서도 결합도를 낮출 수 있는 패턴입니다. 여기서 의존성(Dependency)은 두 클래스 사이의 관계로 설명할 수 있습니다. A 클래스가 B클래스를 A클래스 내부의 변수로 사용한다고 가정할때 A클래스는 B클래스와 의존관계가 형성되었다고 말합니다. 그리고 이런 상황에서 B클래스를 수정하면 A클래스도 수정..

반응형