Closed muf closed 3 months ago
SpringApplication::refresh(ConfigurableApplicationContext applicationContext) 코드 분석 빈은 그냥 이름 기반으로 오브젝트를 만드는거고, 등록은 싱글톤임
prepareBeanFactory
- environment 등 일부 빈 싱글톤 등록
싱글톤 registry가 있고, 여기에 저장됨 DefaultSingletonBeanRegistry
beanFactory.getSingletonNames() 나머지도 bean 타입별로 registry가 있으려나.?invokeBeanFactoryPostProcessors
bean names 목록에 싱글톤 후보 빈 이름 추가 싱글톤 등록되 되는 것으로 보임registerBeanPostProcessors
이건 그냥 aop 스러운 그런거 같은데..?- bean의 post processor 항목들
invokeBeanFactoryPostProcessors
// Parse each @Configuration class
processConfigurationClass
ConfigurationClassParser::doProcessConfigurationClass !!! 여기다
configurationClasses
beanFactory.getBeanNamesIterator()
ApplicationContext가 컨테이너가 된다고 했으니, 주요한 초기화 작업도 여기서 이루어진다고 유추
ApplicationContext
interface
코드 확인구현체를 검색해보면 상당히 많다
run(${applicaiton})을 실행
run
starting()
으로 시작시킴createApplicationContext()
로 컨텍스트 생성beanFactory
생성여기까지 왔을때
빈 목록을 보면 BO는 하나도 없고, internalAutoWiredAnnotationProcessor, internalConfigurationAnnotationProcessor 요런거 보임!!!!!!!
return context