[Spring] - How to register bean in spring container and how container find injection location? #156
Unanswered
Irisation23
asked this question in
Spring
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
해당 Disscussions에서는
Spring Container
의Bean Registry
와DI
의 내부 동작에 대해 알아보도록 한다.1.
Spring Container
BeanDefinition
객체들로 정의해두고 객체를 생성한다.BeanDefinition
정의에 따라 객체 생성에 대한 정보를 참조하며, 일반적으로리플렉션
을 통해 객체를 생성한다.그리고
Service-locator 패턴(서비스 중개자 브로커)
과 비슷한 매커니즘을 통해 의존성을 주입하며 생성한다. 디커플링이 주된 목적외부(Container)
에서 생성된 객체를 주입 함으로써 결합도를 낮추는 효과를 가질 수 있게 된다.짧 정리
1.1 [짧] - 속성 스프링 프레임워크가 딱 굴러가면?
Spring Container
가 초기화되고,ComponentScan
을 통해 정의 된base-package
에서Component
들을 찾아Bean
으로 등록하는 과정이 수행된다.2.
How To Injection?
위에서 정리된 내용처럼
Applicaiton Context
의 구현체중 적절한 구현체가 선택되면해당 구현체가 빈을 가져오고 주입시키는데 이때
Reflection
을 통해 구현된다.스프링의 빈 주입에는
으로 정리 할 수 있다.
해당 주입에 대한 자세한 정리는
Spring 생성자 주입 vs 필드 주입 글을 읽어보며 정리하길 바란다.
Beta Was this translation helpful? Give feedback.
All reactions