Понимание Application Context

ApplicationContext - это главный интерфейс в Spring-приложении, который предоставляет информацию о конфигурации приложения. Он доступен только для чтения во время выполнения, но может быть перезагружен при необходимости и поддержке приложением. Число классов, реализующих ApplicationContext интерфейс, доступны для различных параметров конфигурации и типов приложений.

ApplicationContext предоставляет:

  • Фабричные методы бина для доступа к компонентам приложения
  • Возможность загружать файловые ресурсы в общем виде
  • Возможность публиковать события и регистрировать обработчики на них
  • Возможность работать с сообщениями с поддержкой интернационализации
  • Наследование от родительского контекста

Доступность контекста приложения

Ниже представлено несколько способов получения ссылки на контекст приложения. Вы можете реализовать ApplicationContextAware как показано на примере ниже:

package hello;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class A implements ApplicationContextAware {

    private ApplicationContext applicationContext;

    public void setApplicationContext(ApplicationContext applicationContext) {
        this.applicationContext = applicationContext;
    }

}

Вы также можете использовать аннотацию @Autowired для введения ссылки напрямую в ваш класс:

package hello;

import org.springframework.beans.factory.annotation.Autowired;

public class B {

    @Autowired private ApplicationContext applicationContext;

}

С оригинальным текстом урока вы можете ознакомиться на spring.io.

comments powered by Disqus