我将用一个父上下文创建多个Spring上下文。 这里是我要如何创建父上下文: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();
的想法是有相同的多个子上下文每个bean中的bean层次结构(DAO,服务,数据源,事务管理器等)。有几个上下文的原因是需要有几个不同的数据源(实际上每个应用程序上下文一个)。每个数据源的数据库结构都是相同的。 所以,有一些问题。
- 这样的上下文层次结构安全吗?例如,如果有30个子上下文?
- 跨孩子上下文bean可见性呢?说,我有CustomerService bean声明@Component注释与几个自动装配的DAO依赖项。 Spring会在特定的子环境中执行自动装配和其他DI操作吗?
- 此外,我将使用以下方法从子上下文中查找bean: childContext.getBean(CustomerService.class);我是否从这个特定的子上下文获得客户服务,而不是其他子上下文?我知道,那个春天的单身人士是每个应用程序的单身人士,但仍然不确定。
PS。 还有另一种方法来处理here所描述的多个数据源。但是这种方法对我来说似乎并不方便。
我注意到你的用例和我的完全一样。 –