Spring Aware интерфейсы заказ - PullRequest
       31

Spring Aware интерфейсы заказ

0 голосов
/ 30 января 2019

Использование компонента, реализующего все интерфейсы Aware в https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/Aware.html

Всегда ли эти интерфейсы вызываются в определенном порядке в жизненном цикле?

Интерфейсы, о которых я говорюявляются: ApplicationContextAware, ApplicationEventPublisherAware, BeanClassLoaderAware, BeanFactoryAware, BeanNameAware, BootstrapContextAware, EmbeddedValueResolverAware, EnvironmentAware, ImportAware, LoadTimeWeaverAware, MessageSourceAware ,wareAware, Serware.AlwarePlayer

1 Ответ

0 голосов
/ 30 января 2019

См. документы для BeanFactory и ApplicationContextAwareProcessor:

Реализация фабрики бинов должна поддерживать стандартные интерфейсы жизненного цикла бинов, посколькувозможный.Полный набор методов инициализации и их стандартный порядок:

  • BeanNameAware's setBeanName
  • BeanClassLoaderAware setBeanClassLoader
  • BeanFactoryAwareSetEbedded setBeanFactory
  • EnvironmentAware setEnvironment
  • EmbeddedValueResolverAware setEmbeddedValueResolver
  • ResourceLoaderAware (применяется только при работе в контексте приложения)
  • ApplicationEventPublisherAware setApplicationEventPublisher (применимо только при работе в контексте приложения)
  • MessageSourceAware setMessageSource (применимо только при работе в контексте приложения)
  • ApplicationContextAware setApplicationContext (применимо только при работе в контексте приложения)
  • ServletContextAware * setServletContext (применимо только при работе в контексте веб-приложения)
  • postProcessBeforeInitialization методы BeanPostProcessor s
  • InitializingBean afterPropertiesSet
  • пользовательское определение init -метода
  • postProcessAfterInitialization методы BeanPostProcessors

Вы заметите, что это не полный список.Некоторые (то есть ImportAware) динамически добавляются в список PostProcessor s в зависимости от того, как импортированы их родительские контексты конфигурации.В этом случае вы можете предположить, что они находятся в конце списка, и если вам нужно больше подробностей, вы можете отследить их в отладчике.

...