我创建了两个与以下相同的类引用的bean id。我让bean1拥有一个单例作用域,并将bean2默认为单例。在这种情况下执行。多个bean引用同一个Singleton Bean
当我调用任一个bean时,两个bean是否会被初始化?
是否会为每个单独创建两个对象?
<bean id="bean1" class="com.skanda.spring.core.ioc.HelloService" scope="singleton" /> <bean id="bean2" class="com.skanda.spring.core.ioc.HelloService"> </bean>
调用豆类
public static void main(String[] args) {
BeanFactory beans = new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(
(BeanDefinitionRegistry) beans);
reader.loadBeanDefinitions(new ClassPathResource("mybeans.xml"));
HelloService service = (HelloService) beans.getBean("bean1");
}
请指教。
Thxs,韦驮
*如下*:其中?告诉我们你的代码。 –
哎呀..我错过了。现在添加。 – skanda
你为什么不自己测试一下?如果你可以在每个bean上调用一个方法,那么它们就被初始化了,不是吗?如果getBean(“bean1”)和getBean(“bean2”)返回的两个对象不同,那意味着Spring创建了两个实例,不是吗? –