2015-03-13 68 views
0

我有需要將sessionFactory設置爲原型,所以我可以從代碼創建它。爲什麼Spring在被調用之前實例化我的原型?

<bean id="sessionFactoryResult" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" scope="prototype"> 
    <property name="dataSource"> 
     <ref bean="dataSourceResult" /> 
    </property> 
    <property name="hibernateProperties" ref="hibernatePropertiesResult" /> 
    <property name="packagesToScan" value="package.entity"/> 
</bean> 

在我的代碼後來我有:

SessionFactory sessionFactory = (SessionFactory) ctx.getBean("sessionFactoryResult"); 

然而由於種種原因,春季instanciates該SessionFactory(並創建數據庫)在應用... 開始作爲一個次要的注意:當我最終從代碼中調用它時,hibernate不會重新創建數據庫(我需要在任何sessionFactory實例之前以編程方式修改數據源)

謝謝!通過普雷德拉格·馬里奇,延遲實例=在Spring bean「真」,或者@Lazy

+0

您有任何機會可以在發佈之前拼寫檢查您的問題嗎? – 2015-03-13 09:57:25

+1

嘗試在bean定義中添加'lazy-init =「true」'。 – 2015-03-13 10:00:02

+0

對不起,我不是英語母語的人。 我試過lazy-init,但問題依然存在。 Chaps 2015-03-13 10:09:09

回答

相關問題