【问题标题】:When should I use getApplicationContext().getBean?什么时候应该使用 getApplicationContext().getBean?
【发布时间】:2017-07-18 09:49:20
【问题描述】:

什么时候应该使用getApplicationContext().getBean(<someclass>,args)

上面的说法是不是和SomeClass obj = new SomeClass();类似 如果是这样,getBean 的用例是什么?

我无法理解为什么必须从应用程序上下文中调用 getBean。我是 Sprin-boot 应用程序的新手。 谁能解释一下?

【问题讨论】:

标签: java spring spring-mvc spring-boot


【解决方案1】:

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

上面的语句是不是类似于SomeClass obj = new SomeClass();

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

除了你没有考虑到一个bean的范围。一些 bean 可能是 singletons,其中一些可能是 prototype,其中一些甚至可能具有与当前月相绑定的自定义范围。

这里是found 对主要思想的一个很好的解释。

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2011-04-15
    • 2017-04-10
    • 2012-03-19
    • 2018-05-12
    • 2018-12-11
    • 1970-01-01
    • 2022-09-28
    • 2021-09-07
    相关资源
    最近更新 更多