Определение spring ApplicationContext очень неоднозначно, я почти закончу целую книгу учебника, но до сих пор не могу понять, что означает ApplicationContext.
В соответствии с API spring ApplicationContext:
Центральный интерфейс для настройки конфигурации приложения. Это доступно только для чтения, пока приложение запущено, но может быть перезагружено, если реализация поддерживает это.
Корневой интерфейс для доступа к контейнеру spring bean. Это основной клиентский вид контейнера bean.
Сверху мои вопросы:
1) Я продолжаю видеть в книге упомянутый "контейнер", к чему относится контейнер? Один контейнер означает один java-процесс? или один контейнер относится к одному объекту ApplicationContext?
2) Если я создаю два ApplicationContext в одном приложении Java (оба в main body), являются ли эти два интерфейса одним центральным контейнером? Или два отдельных экземпляра? См. Код ниже, в чем разница между context1 и context2? Если в Beans.xml есть Singleton, он вызывается context1 и context2, являются ли они двумя отдельными экземплярами или одним и тем же экземпляром?
ApplicationContext context1 = new ClassPathXmlApplicationContext("Beans.xml");
ApplicationContext context2 = new ClassPathXmlApplicationContext("Beans.xml");