我将使用一个父上下文创建几个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.还有另一种方法可以处理此处描述的多个数据源.但在我的情况下,这种方法似乎并不是很方便.
在以下示例中,将分类器值提供给收集器的供应商功能的正确方法是什么:
import static java.math.BigDecimal.*;
import static java.util.stream.Collector.*;
import static java.util.stream.Collectors.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class Test {
public static class Item {
String key;
BigDecimal a;
BigDecimal b;
public Item(String key, BigDecimal a, BigDecimal b) {
this.key = key;
this.a = a;
this.b = b;
}
public String getKey() {
return key;
}
public BigDecimal getA() {
return a;
}
public BigDecimal getB() {
return b;
}
}
public static class ItemSum {
public ItemSum() …Run Code Online (Sandbox Code Playgroud)