구성 파일 (@Configuration), XML 파일 또는 구성 요소 스캔 (@Component)에서 Spring Bean 정의를 읽습니다. 이것은 메타 데이터 처리 단계
이며 인스턴스가 생성되지 않았습니다.
BeanDefinitionRegistry#registerBeanDefinition()
이것은 전에 전에 발생했습니다. 사용 사례 : a Bean이 애플리케이션의 맥락에서 그 이름 를 알아야하는 경우.
InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation()
beanfactory 콩에.
사용 사례 : BeanNameAware#setBeanName(String name)
허용 Bean
BeanNameAware
setBeanName()
<code class="language-java">public class MyBean implements BeanNameAware { @Override public void setBeanName(String name) { System.out.println("Bean Name Set: " + name); } }</code>
)
<code class="language-java">public class MyBean implements BeanNameAware { @Override public void setBeanName(String name) { System.out.println("Bean Name Set: " + name); } }</code>
ResourceLoaderAware#setResourceLoader(ResourceLoader loader)
사용 사례 :
ApplicationEventPublisherAware#setApplicationEventPublisher(ApplicationEventPublisher publisher)
ContextRefreshedEvent
기타 콩, 환경 환경 등에 동적 액세스를 허용합니다.
MessageSourceAware#setMessageSource(MessageSource source)
ApplicationContextAware#setApplicationContext(ApplicationContext ctx)
ServletContextAware#setServletContext(ServletContext ctx)
Bean은 가 완전히 초기화되어 있으며
DestructionAwareBeanPostProcessor#postProcessBeforeDestruction()
는 입니다. DisposableBean
destroy()
DisposableBean
custom destroy()
(에 정의 된 경우) <code class="language-java">public class MyBean implements BeanNameAware { @Override public void setBeanName(String name) { System.out.println("Bean Name Set: " + name); } }</code>
> ?
로드 콩 정의 @PreDestroy
DisposableBean
)
()
()
(<code class="language-java">public class MyBean implements BeanClassLoaderAware { @Override public void setBeanClassLoader(ClassLoader classLoader) { System.out.println("ClassLoader Set!"); } }</code>
destroy-method
> ?
@Bean
()
(
위 내용은 스프링-: 스프링 벡스 리프 사이클-실행-주문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!