Como o ApplicationContextAware funciona no Spring?

Na primavera, se um feijão implementaApplicationContextAware, então ele pode acessar oapplicationContext. Portanto, é capaz de obter outros grãos. por exemplo.

public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;     

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

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

EntãoSpringContextUtil.getApplicationContext.getBean("name") pode obter o bean "name".

Para fazer isso, devemos colocar issoSpringContextUtil dentro deapplications.xml, por exemplo.

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

Aqui o feijãoSpringContextUtil não inclui a propriedadeapplicationContext. Eu acho que quando o Spring Bean inicializa, essa propriedade está definida. Mas como é que isto é feito? Como o métodosetApplicationContext ser chamado?

questionAnswers(3)

yourAnswerToTheQuestion