본문 바로가기

Spring Framework2

Java Reflection을 이용한 Bean Autowiring 구현 지난 2019년 4월 2주차 뉴스클리핑에서 @Autowired는 어떻게 동작하는가에 대한 내용을 다룬 바가 있습니다. @Autowired는 내부적으로 Reflection을 이용하여 Dependency Injection을 수행하며, Spring의 동작 중 많은 것들이 Reflection을 이용하여 구현되어 있습니다. 그래서 이번 뉴스 클리핑에서는 Spring의 Bean 생성 및 DI를, 간단하게 Java를 이용하여 구현해 보도록 하겠습니다. Load : 스프링은 @Bean이나 @Configuration과 같이 빈으로 생성되어야 하는 객체들을 전부 읽어들입니다(이미지 상에서는 XML에서 읽어 들이는 것만 표현되어 있으나 앞서 말했듯 어노테이션 등을 통해서도 읽어 들입니다). Merge & Validation.. 2020. 10. 12.
@Autowired는 어떻게 동작하는 걸까? @Autowired는 Spring Framework에서 Dependency Injection을 위해 제공하는 어노테이션으로, 이를 모르는 웹 개발자는 없을 것입니다. 우리는 습관처럼 자연스럽게 @Autowired를 사용하여 객체를 주입받습니다. 이 어노테이션이 생성자에 붙을 수도, 필드에 붙을 수도, 혹은 setter 메서드에 붙을 수도 있다는 것도 알고 있습니다. 그렇다면 어떻게 이 짧은 코드로 직접 생성하지도 않은 객체를 주입받을 수 있는 것일까요? Spring Framework에서 Bean을 생성하고 관리하는 일은 IoC(Inversion of Control) Container가 담당하며, ApplicationContext라는 인터페이스로 구현되어 있습니다. Spring Core Framework가.. 2020. 10. 12.