我已经读过here,认为使用applicationContext.getBean(“ somebeananmehere”)是不好的。

如果是这样,我将如何以编程方式获取豆类(取决于用户要哪种豆类,比如说他可以选择其他杂货,例如苹果,肥皂,洗涤剂)?

比方说

switch(num){
  case 1 : myGrocery  = (GroceryItem) applicationContext.getBean("SOAP");break;
  case 2: myGrocery = (GroceryItem) applicationContext.getBean("APPLE");break;
  default:
   //more code here
}


这就是我在用户选择其杂货项目的应用程序中所做的事情。 (这是一个控制台应用程序)

如果applicationContext.getBean被认为是不好的,那有什么选择呢?

最佳答案

您正在寻找查找方法注入。

http://static.springsource.org/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-method-injection

07-28 10:13