問:
org.
springframework.
orm.
hibernate3.
LocalSessionFactoryBean;
這個(gè)類型根本沒有g(shù)etCurrentSession的方法。
而productDAO中的
sessionFactory是
org.hibernate.
SessionFactory,這中間的類型是怎么轉(zhuǎn)換的啊?
試了一下往數(shù)據(jù)庫保存是成功的,就是想不通這個(gè)類型的轉(zhuǎn)換,我看
LocalSessionFactoryBean也沒有實(shí)現(xiàn)
SessionFactory這個(gè)接口啊?
難道是
LocalSessionFactoryBean的getObject()方法?
答:
正是如此!
LocalSessionFactoryBean實(shí)現(xiàn)了
org.
springframework.beans.factory.FactoryBean接口, spring在裝配的時(shí)候, 如果發(fā)現(xiàn)實(shí)現(xiàn)了
org.
springframework.beans.factory.FactoryBean接口, 就會(huì)使用FactoryBean#getObject() 方法返回的對象裝配,具體的可以看下文檔.
如果你想拿到
LocalSessionFactoryBean實(shí)例, 在id前面加個(gè)'&'就可以了,在你的配置文件中BeanFactory.getBean('&
sessionFactory')拿到的就是
LocalSessionFactoryBean的實(shí)例.
出處:http://www.javaeye.com/problems/4189
posted on 2008-11-10 21:45
開機(jī) 閱讀(1771)
評論(1) 編輯 收藏