我創建了兩個與以下相同的類引用的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創建了兩個實例,不是嗎? –