Spring bean scope. Singleton and Prototype

前端 未结 3 724
野趣味
野趣味 2021-01-18 01:45

Suppose two classes ClassA and ClassB. Lets suppose ClassB is dependent on ClassA. On configuration file, if we define scope of ClassA to be singleton and that of ClassB to

相关标签:
3条回答
  • 2021-01-18 02:05

    What happens to instance of ClassB each time we create a bean instance of ClassA?

    Since ClassA is a singleton, an single instance will be shared among all the instances of ClassB.

    Will the same ClassB instance gets returned or new instance is created each time instance of ClassA is returned?

    I think here you meant Will the same ClassA instance gets returned or new instance is created each time instance of ClassB is returned?

    Everytime an instance of ClassB is created the shared ClassA instance will be (re-)used.

    0 讨论(0)
  • 2021-01-18 02:16

    if ClassB is prototype, a newly instance of ClassB is always created, it does not take care of other classes at creation.

    So ClassB being prototype and ClassA singleton, you could have N instances of ClassB and only 1 of ClassA in your application at some point.

    In your case, as only one instance of ClassA will exist on your application life-cycle, it will only have one instance ClassB which will be different to any other ClassB referenced by other beans in your application

    0 讨论(0)
  • 2021-01-18 02:18

    what happens to instance of ClassB each time we create a bean instance of ClassA?

    Nothing, if ClassA is singleton it will be instantiated only once.

    Will the same ClassB instance gets returned or new instance is created each time instance of ClassA is returned?

    Different instances, since it's a prototype bean. But since ClassA is singleton it will be instanciated the same way every time.(depends on your relation between these classes that you mentioned)

    0 讨论(0)
提交回复
热议问题