|
|
|
|
@ -63,31 +63,35 @@ import org.springframework.core.ResolvableType;
@@ -63,31 +63,35 @@ import org.springframework.core.ResolvableType;
|
|
|
|
|
* are supposed to override beans of the same name in any parent factory. |
|
|
|
|
* |
|
|
|
|
* <p>Bean factory implementations should support the standard bean lifecycle interfaces |
|
|
|
|
* as far as possible. The full set of initialization methods and their standard order is:<br> |
|
|
|
|
* 1. BeanNameAware's {@code setBeanName}<br> |
|
|
|
|
* 2. BeanClassLoaderAware's {@code setBeanClassLoader}<br> |
|
|
|
|
* 3. BeanFactoryAware's {@code setBeanFactory}<br> |
|
|
|
|
* 4. EnvironmentAware's {@code setEnvironment}<br> |
|
|
|
|
* 5. EmbeddedValueResolverAware's {@code setEmbeddedValueResolver}<br> |
|
|
|
|
* 6. ResourceLoaderAware's {@code setResourceLoader} |
|
|
|
|
* (only applicable when running in an application context)<br> |
|
|
|
|
* 7. ApplicationEventPublisherAware's {@code setApplicationEventPublisher} |
|
|
|
|
* (only applicable when running in an application context)<br> |
|
|
|
|
* 8. MessageSourceAware's {@code setMessageSource} |
|
|
|
|
* (only applicable when running in an application context)<br> |
|
|
|
|
* 9. ApplicationContextAware's {@code setApplicationContext} |
|
|
|
|
* (only applicable when running in an application context)<br> |
|
|
|
|
* 10. ServletContextAware's {@code setServletContext} |
|
|
|
|
* (only applicable when running in a web application context)<br> |
|
|
|
|
* 11. {@code postProcessBeforeInitialization} methods of BeanPostProcessors<br> |
|
|
|
|
* 12. InitializingBean's {@code afterPropertiesSet}<br> |
|
|
|
|
* 13. a custom init-method definition<br> |
|
|
|
|
* 14. {@code postProcessAfterInitialization} methods of BeanPostProcessors |
|
|
|
|
* as far as possible. The full set of initialization methods and their standard order is: |
|
|
|
|
* <ol> |
|
|
|
|
* <li>BeanNameAware's {@code setBeanName} |
|
|
|
|
* <li>BeanClassLoaderAware's {@code setBeanClassLoader} |
|
|
|
|
* <li>BeanFactoryAware's {@code setBeanFactory} |
|
|
|
|
* <li>EnvironmentAware's {@code setEnvironment} |
|
|
|
|
* <li>EmbeddedValueResolverAware's {@code setEmbeddedValueResolver} |
|
|
|
|
* <li>ResourceLoaderAware's {@code setResourceLoader} |
|
|
|
|
* (only applicable when running in an application context) |
|
|
|
|
* <li>ApplicationEventPublisherAware's {@code setApplicationEventPublisher} |
|
|
|
|
* (only applicable when running in an application context) |
|
|
|
|
* <li>MessageSourceAware's {@code setMessageSource} |
|
|
|
|
* (only applicable when running in an application context) |
|
|
|
|
* <li>ApplicationContextAware's {@code setApplicationContext} |
|
|
|
|
* (only applicable when running in an application context) |
|
|
|
|
* <li>ServletContextAware's {@code setServletContext} |
|
|
|
|
* (only applicable when running in a web application context) |
|
|
|
|
* <li>{@code postProcessBeforeInitialization} methods of BeanPostProcessors |
|
|
|
|
* <li>InitializingBean's {@code afterPropertiesSet} |
|
|
|
|
* <li>a custom init-method definition |
|
|
|
|
* <li>{@code postProcessAfterInitialization} methods of BeanPostProcessors |
|
|
|
|
* </ol> |
|
|
|
|
* |
|
|
|
|
* <p>On shutdown of a bean factory, the following lifecycle methods apply:<br> |
|
|
|
|
* 1. {@code postProcessBeforeDestruction} methods of DestructionAwareBeanPostProcessors |
|
|
|
|
* 2. DisposableBean's {@code destroy}<br> |
|
|
|
|
* 3. a custom destroy-method definition |
|
|
|
|
* <p>On shutdown of a bean factory, the following lifecycle methods apply: |
|
|
|
|
* <ol> |
|
|
|
|
* <li>{@code postProcessBeforeDestruction} methods of DestructionAwareBeanPostProcessors |
|
|
|
|
* <li>DisposableBean's {@code destroy} |
|
|
|
|
* <li>a custom destroy-method definition |
|
|
|
|
* </ol> |
|
|
|
|
* |
|
|
|
|
* @author Rod Johnson |
|
|
|
|
* @author Juergen Hoeller |
|
|
|
|
|