我什么时候应该使用getApplicationContext()。getBean?

时间:2017-07-18 09:49:20

标签: java spring spring-mvc spring-boot

我应该何时使用getApplicationContext().getBean(<someclass>,args)

以上陈述是否与SomeClass obj = new SomeClass();相似 如果是这样,getBean的用例是什么?

我无法理解为什么有必要从应用程序上下文中调用getBean。我是Sprin-boot应用程序的新手。 有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

通常,您应该尽可能避免此类调用,因为它会将您的业务代码耦合到spring-core。您应该在应用程序上下文中注册组件(bean)(使用java-config,xml,component-scan等),并使用@Autowired@Inject来询问所需的依赖项。

  

以上语句是否类似于SomeClass obj = new SomeClass();

嗯,不是真的。您可以按类查找bean,但您也可以通过接口进行查找。

除此之外,您还没有考虑bean的范围。有些bean可能是 singletons ,其中一些可能是 prototype ,其中一些甚至可能有一个自定义范围限制在月球的当前阶段。

主要想法的一个很好的解释可能是found