我有需要將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
您有任何機會可以在發佈之前拼寫檢查您的問題嗎? – 2015-03-13 09:57:25
嘗試在bean定義中添加'lazy-init =「true」'。 – 2015-03-13 10:00:02
對不起,我不是英語母語的人。 我試過lazy-init,但問題依然存在。 –
Chaps
2015-03-13 10:09:09