Иерархия весенних контекстов

Я собираюсь создать несколько контекстов Spring с одним родительским контекстом. Вот как яЯ собираюсь создать родительский контекст:

new ClassPathXmlApplicationContext(new String[] {"ApplicationContext/application.xml"})

И каждый родительский контекст я хочу создать следующим образом:

PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
configurer.setProperties(properties);
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(appContext);
context.addBeanFactoryPostProcessor(configurer);
context.setConfigLocation("ApplicationContext/beans.xml");
context.refresh();

Идея состоит в том, чтобы в каждом из них было несколько дочерних контекстов с одинаковой иерархией компонентов (DAO, сервисы, источник данных, менеджер транзакций и т. Д.). Причиной наличия нескольких контекстов является требование наличия нескольких различных источников данных (по одному на каждый контекст приложения). Структура базы данных для каждого источника данных одинакова. Итак, есть несколько вопросов.

Безопасно ли иметь такую иерархию контекстов? Например, если есть 30 дочерних контекстов?А как насчет перекрестной видимости дочернего бина? Скажи у меняОбслуживание клиентов боб объявлен с@Составная часть аннотация с несколькими автоматически связанными зависимостями DAO. Выполняет ли Spring автоматическое подключение и другие действия DI в определенном дочернем контексте?Также я'Я собираюсь искать bean-компоненты из дочернего контекста, используя следующий метод:childContext.getBean (CustomerService.class); Получаю ли я обслуживание клиентов из этого конкретного дочернего контекста, а не другого дочернего контекста? Я знаю, что Spring Singleton - это синглтон для каждого приложения, но все еще не уверен.

PS. Существует еще один способ обработки нескольких источников данных.Вот, Но этот подход кажется не очень удобным в моем случае.

Ответы на вопрос(1)

Ваш ответ на вопрос