我问了一个普通的Spring问题:自动转换Spring Beans并让多个人回应,ApplicationContext.getBean()应该尽可能避免调用Spring .这是为什么?
我还应该如何获得我配置Spring创建的bean的权限?
我在一个非Web应用程序中使用Spring,并计划按照LiorH的描述访问共享ApplicationContext对象.
修订
我接受下面的答案,但这是Martin Fowler的另一个选择,他讨论了依赖注入与使用服务定位器(与调用包装本质上相同ApplicationContext.getBean())的优点.
部分,福勒状态," 随着服务定位器应用程序类由一个消息给该定位器询问它[服务]明确地随着喷射没有明确请求时,服务出现在应用程序的类-控制的,因此反转.控制反转是框架的共同特征,但它的东西,是有代价的,它往往是很难理解,当你试图调试导致的问题.所以,整体来说,我宁可不去,[控制反转除非我需要它.这并不是说它是一件坏事,只是因为我认为它需要通过更直接的选择来证明自己的合理性. "
我正在学习Spring,我对如何在独立应用程序中使用它(以及在使用它来制作Web应用程序时)提出了一个问题.到目前为止我编写的示例使用了一个简单的main方法,我通过调用getBean来检索bean.上下文对象.但是,您可能希望在多个类中执行此操作,因此您首先获取上下文然后调用getBean还是有其他更清洁的替代方案?或者这是你在独立和网络应用程序中这样做的方式?