Как ApplicationContextAware работает в Spring?

Весной, если боб реализуетApplicationContextAwareто он может получить доступ кapplicationContext, Поэтому он может получить другие бобы. например

public class SpringContextUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;     

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

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

затемSpringContextUtil.getApplicationContext.getBean("name") может получить бин "имя".

Чтобы сделать это, мы должны положить этоSpringContextUtil внутриapplications.xmlнапример,

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

Здесь бобSpringContextUtil&nbsp;не включает собственностьapplicationContext, Я предполагаю, что при инициализации Spring Bean это свойство устанавливается. Но как это сделать? Как работает методsetApplicationContext&nbsp;позвонить?