als*_*sid 8 spring applicationcontext
我将使用一个父上下文创建几个Spring上下文.以下是我要创建父上下文的方法:
new ClassPathXmlApplicationContext(new String[] {"ApplicationContext/application.xml"})
Run Code Online (Sandbox Code Playgroud)
我希望以下列方式创建每个父上下文:
PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
configurer.setProperties(properties);
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(appContext);
context.addBeanFactoryPostProcessor(configurer);
context.setConfigLocation("ApplicationContext/beans.xml");
context.refresh();
Run Code Online (Sandbox Code Playgroud)
我们的想法是在每个子环境中使用相同的bean层次结构(DAO,服务,数据源,事务管理器等).有几个上下文的原因是需要有几个不同的数据源(实际上每个应用程序上下文一个).每个数据源的数据库结构是相同的.所以,有一些问题.
PS.还有另一种方法可以处理此处描述的多个数据源.但在我的情况下,这种方法似乎并不是很方便.
Abh*_*kar 12
安全是什么意思?如果您在bean初始化时表示线程安全,那么是,因为上下文是逐个初始化的.
在子环境中看不到豆类.在上下文中可见的唯一bean是它自己的和它的父上下文中的bean.
是.根据最后一个问题的答案.
我在我的应用程序中使用了这种模式.通过将其作为父母,许多其他儿童背景共享共同的背景.当您想在单个JVM中运行完全隔离的上下文时,它非常有用,例如,如果您的应用程序是多租户的.然后,您可以在不重新启动JVM的情况下启动/停止/重新启动应用程序上下文.
这还允许明确分离数据源和事务管理器,并允许人们轻松地对其数据库进行分片.
| 归档时间: |
|
| 查看次数: |
4964 次 |
| 最近记录: |