论坛首页 入门技术论坛

Spring同Hibernate整合时,对LocalSessionFactoryBean的不解

浏览 9605 次
该帖已经被评为新手帖
作者 正文
   发表时间:2006-12-14  
用Spring+Hibernate+struts的组合已经很久了,但是一直都没有很深入的去研究一下他们,也就是这样的按着一贯的模式去做。直到今天,我需要用程序自动创建数据库表(同志们,提供一个方案啊)。我需要用到Hibernate的配置,也就是Configuration了,在Hibernate中倒是容易,但是和Spring整合后,我就需要从LocalSessionFactoryBean中去获得,因为这个类是同Hibernate整合的关键类,从配置文件就可以看得出来。

	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />

		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.SQLServerDialect
				</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hibernate.cache.use_query_cache">true</prop>
				<prop key="hibernate.cache.provider_class">
					org.hibernate.cache.EhCacheProvider
				</prop>
			</props>
		</property>

		<property name="mappingLocations">
			<list>
				<value>classpath*:com/sky/frame/domain/*.hbm.xml</value>
				<value>classpath*:com/sky/business/domain/*.hbm.xml</value>
				<value>classpath*:com/sky/plugin/jbpm/bean/*.hbm.xml</value>
				<value>classpath*:org/jbpm/**/*.hbm.xml</value>
			</list>
		</property>
	</bean>


但是问题就在这里出来了,配置文件中的sessionFactory按照道理说,应该是LocalSessionFactoryBean的实例,但是实际上却不是,而是SessionFactory的实例,百思不得其解,看了看源代码也没有什么帮助。

郁闷!
   发表时间:2006-12-14  
你还是好好去看看spring文档吧,看看FactoryBean是个什么样的bean。
1 请登录后投票
   发表时间:2006-12-14  
robbin 写道
你还是好好去看看spring文档吧,看看FactoryBean是个什么样的bean。


很简单的一句话,但不管我怎么看没,都好像有种不屑,不想指点也就罢了,何必一副盛气凌人的样子。到论坛不就是为了交流学习吗?说不定跟我一样菜鸟的同学大有人在,也许也跟我一样想问问这样的问题。这样的话别人说说也就罢了,怎么也不应该出自你robbin之口吧——论坛的推广者!
0 请登录后投票
   发表时间:2006-12-14  
tomkoo 写道
robbin 写道
你还是好好去看看spring文档吧,看看FactoryBean是个什么样的bean。


很简单的一句话,但不管我怎么看没,都好像有种不屑,不想指点也就罢了,何必一副盛气凌人的样子。到论坛不就是为了交流学习吗?说不定跟我一样菜鸟的同学大有人在,也许也跟我一样想问问这样的问题。这样的话别人说说也就罢了,怎么也不应该出自你robbin之口吧——论坛的推广者!


我认为:提问之前自己要做一些准备工作,例如看看手册(特别是spring已经有中文参考手册),Google搜索一下等等。其实JavaEye也是一直这样要求的。做网站不是为了鄙视谁,而是希望能够站在同一共识的基础上进行问题的讨论。

FactoryBean是Spring的基本概念之一,如果就这样的问题提问,未免显得自己下的功夫太不够。而且设想一下别人能够怎么回答你这个问题呢?例如会这样回答:

FactoryBean得到的不是FactoryBean,而是FactoryBean创造的bean。

看来很拗口,而且还没有Spring中文参考手册上面解释的清楚和详细。于是我只能这样回答:

请看Spring中文参考手册某章某节。

你觉得这样的问题该不该问呢?
0 请登录后投票
   发表时间:2006-12-14  
由于少看javaeye才有风格....
如果不知道怎么问问题....上来也是被隐的结果...
0 请登录后投票
   发表时间:2006-12-14  
to:tomkoo lz的火气大了,我看不出robbin有什么不屑。
to:robbin 所谓会者不难、难者不会,我觉得不懂就问这很好。
to:抛出异常的爱 为什么要隐呢,在深圳看香港新闻就常常被cut,这有意思么,jboss论坛上也有很多所谓的低级问题也放了好多年了。
0 请登录后投票
   发表时间:2007-05-14  
“FactoryBean得到的不是FactoryBean,而是FactoryBean创造的bean。”

robbin 说的已经很清楚了。
0 请登录后投票
   发表时间:2007-05-14  
如果想看源码的话,介绍你看一下AbstractBeanFactory中
protected Object getObjectForBeanInstance(Object beanInstance, String name, RootBeanDefinition mbd)
中对于
if (beanInstance instanceof FactoryBean)
的判断。
0 请登录后投票
   发表时间:2007-05-15  
jeffen2006 写道
to:tomkoo lz的火气大了,我看不出robbin有什么不屑。
to:robbin 所谓会者不难、难者不会,我觉得不懂就问这很好。
to:抛出异常的爱 为什么要隐呢,在深圳看香港新闻就常常被cut,这有意思么,jboss论坛上也有很多所谓的低级问题也放了好多年了。


jboss的低级问题不回答谁会去用jboss啊?那是他们的义务。
香港新闻那是好你喜欢,这个是不好我不喜欢看。
0 请登录后投票
   发表时间:2007-05-21  
我申请了n遍,想加入这个 GNY 的圈子,想不到这个 BT 的管理员: tomkoo!

也是 GNY 的
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics