spring singleton scope - 每个bean每个容器

a L*_*ner 9 java spring

我在问我的问题时问这个问题:

弹簧单体范围

Spring singleton在参考手册中定义为每个bean的容器.

每个容器意味着如果我们喜欢:

ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml")
MyBean myobj=(MyBean)context.getBean("myBean"); //myBean is of singleton scope.
MyBean myobj1=(MyBean)context.getBean("myBean");
Run Code Online (Sandbox Code Playgroud)

beans.xml中:

<bean id="myBean" class="MyBean"/>
Run Code Online (Sandbox Code Playgroud)

然后myobj==myobj1会出现真实的.都指向同一个实例.

对于每个bean每个bean的每个部分短语,我有点困惑.对于每个豆子,我是否正确:

如果我们喜欢

ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml")
MyBean myobj=(MyBean)context.getBean("myBean"); 
MyBean myobj1=(MyBean)context.getBean("mySecondBean");
Run Code Online (Sandbox Code Playgroud)

beans.xml中:

<bean id="myBean" class="MyBean"/>
<bean id="mySecondBean" class="MyBean"/>
Run Code Online (Sandbox Code Playgroud)

然后myobj==myobj1会出现虚假.那意味着它们是两个不同的实例

rk2*_*010 6

那是正确的.

如果它有帮助,您还可以将Spring bean视为您将使用构造函数在Java代码中手动创建的实例.

通过在Spring XML文件中定义bean,该bean(Instance)在Spring的App Context中注册,然后该实例可以传递给代码的其他区域.

通过创建新bean,您可以有效地创建新实例.因此,您可以创建同一类的任意数量的bean(实例)