[TIL] 코드스테이츠 SEB BE Day 35
in TIL
💡 Today I Will Learn
- DI
✏️ Check Box
DI
📌 정리
앞서 DI의 개념에 대해 학습했다면, 실제 스프링에서 구현하는 챕터였다.
최상위의 BeanFactory
-> 구현한 ApplicationContext
-> 추상화를 통해 다양한 설정 형식(설정 메타데이터: XML, Java코드)을 받기위한 BeanDefinition
으로 스프링 컨테이너를 생성한다.
스프링 컨테이너 내에는 Bean
이라 하는 인스턴스화된 객체들이 저장된다. 이 저장된 데이터를 필요한 곳에 DI하여 사용하는 것이다. 해당 Bean들은 기본적으로 싱글톤
으로 생성되어 하나의 인스턴스만을 공유하여 사용하는 형태이다. 그렇기에 반드시 무상태
로 설계해야 한다.
스프링 컨테이너에 Java 코드로 Bean을 올리는 방식은 @Configuration
을 클래스에 선언하고 @Bean
어노테이션 등록하고자하는 메서드에 작성하는 것이다.
사실 Bean이 등록되는 과정을 그렇게 자세히 들여다본 적은 없는 것 같다. 단순히 어노테이션으로 처리하면 스프링 컨테이너에 Bean이 등록되고 원하는 곳에 주입하면 되겠구나 하면서 코드를 작성했던 것 같다. 그래서 해당 챕터 또한 너무 큰 도움이 되었다😁
🎯 Tomorrow
- DI
Back to [TIL] 코드스테이츠 SEB BE Day 34