【问题标题】:Does Spring DI create multiple instances while injecting through @Autowired?Spring DI 在通过@Autowired 注入时是否会创建多个实例?
【发布时间】:2020-11-20 07:11:17
【问题描述】:

我有一个 A 类和 B 类,它们使用 C 类的方法。

C 类是一个使用@Service 注释的服务类。

为了在 A 类和 B 类中获取 C 类的对象实例,我使用了@Autowired。

这意味着Spring会创建两个对象实例,一个用于A类,一个用于B类?

【问题讨论】:

    标签: java spring spring-mvc dependency-injection


    【解决方案1】:

    不,Spring 在 IOC 容器中创建单例(默认范围)bean。

    因此,只会为 C 类创建一个 bean。

    C 类的特定 bean 或对象将为所有类共享,无论是 A 类还是 B 类或其他。

    【讨论】:

    • 这是默认行为,但它实际上取决于为 C 类定义的范围。
    • @M.Deinum 是的,对。我也需要提到这一点。 :)
    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 2020-02-09
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    相关资源
    最近更新 更多