Как Spring создает контекст приложения или иерархию контейнеров?
по данным МОК Контейнер, Spring может управлять иерархией контекста или иерархией контейнеров, а затем использовать <ref parent="beanId"/>
для ссылки на bean в Родительском контексте. Какой механизм Spring использует для создания этой иерархии контейнеров? Можно ли использовать <import resource="application-context.xml"/>
команда для создания этой иерархии? Приведите пример контекста приложения, который формирует иерархию.
1 ответов
иерархия контекста приложения создается автоматически; например, каждое приложение Spring MVC создает отдельный контекст для каждого DispatcherServlet. Этот контекст является дочерним от общего родительского контекста. Таким образом, каждый дочерний контекст может получить доступ к бобам из родительского контекста, но не наоборот. Кроме того, родственные контексты разделены и невидимы друг для друга.
вы можете создать иерархию контекста вручную, чтобы обеспечить более высокий уровень детализации в вашем проекте. Это может достигните например используя различные конструкторы ClassPathXmlApplicationContext
.
<import>
construct объединяет бобы из импортированного файла, поэтому это способ физического разделения определений бобов на несколько файлов, но все они заканчиваются в одном контексте. Кстати, жаль, что нет XML-тега для определения дочернего контекстного файла (?)