[TIL] 코드스테이츠 SEB BE Day 35

💡 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