我正在尝试找出使用Spring(或不使用Spring)按需加载bean的最佳方法。这是一个例子。假设有两种类型的机械豆
@Bean("japanese-mechanic")
public Mechanic japaneseMechanic(){
return new JapaneseMechanicImpl
}
@Bean("german-mechanic")
public Mechanic germanMechanic(){
return new GermanMechanicImpl
}
我的问题是如何为每个请求加载正确的bean。当前,我们使用“ Context.getBean”的方式,所以它看起来像
String beanName = request.getParameter("typeOfCar") + "-mechanic";
Mechanic mechanic = Context.getBean(beanName,Mechanic.class);
我知道以这种方式调用“ Context.getBean”违反了IOC,因此正在寻找一种更好的方法(如果可用)。有人可以建议一些替代方法吗?谢谢!
答案 0 :(得分:0)
您可以通过将所有机制连接到自己的地图来避免直接访问上下文,如下所示:
console.log([1, 1.23, 1.23456].map(v => v.toFixed(3).replace(/\.?0+$/, '')))
因此,您无需将它们从上下文映射中获取,而是将它们自动连接到自己的映射并从那里获取它们。可以认为是更好的样式,或者如果您有无法直接访问上下文的要求。