Comment ApplicationContextAware travaux au Printemps?

Au printemps, si un bean implémente ApplicationContextAware, alors qu'il est en mesure d'accéder à la applicationContext. Par conséquent, il est en mesure d'obtenir d'autres haricots.
par exemple,

public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;     

    public void setApplicationContext(ApplicationContext context) throws BeansException {
      applicationContext = context;
    }

    public static ApplicationContext getApplicationContext() {
      return applicationContext;
    }
}

Puis SpringContextUtil.getApplicationContext.getBean("name") pouvez obtenir le haricot "nom".

Pour ce faire, nous devons mettre cette SpringContextUtil à l'intérieur de la applications.xml, par exemple

<bean class="com.util.SpringContextUtil" />

Ici le haricot SpringContextUtil ne comprend pas la propriété applicationContext. Je suppose que quand le printemps bean initialiser, cette propriété est définie. Mais comment est-ce fait? Comment fonctionne la méthode setApplicationContext appelée?

  • C'est juste la façon dont des travaux du printemps. Printemps appels de méthode dans le cadre de l'initialisation du bean. Je ne vois pas le problème.
  • Le printemps est de la Magie. Embrasser la magie
InformationsquelleAutor Jimmy | 2014-02-04