`
tomkoo
  • 浏览: 186233 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
用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的实例,百思不得其解,看了看源代码也没有什么帮助。

郁闷!
分享到:
评论
9 楼 cron 2007-05-21  
我申请了n遍,想加入这个 GNY 的圈子,想不到这个 BT 的管理员: tomkoo!

也是 GNY 的
8 楼 抛出异常的爱 2007-05-15  
jeffen2006 写道
to:tomkoo lz的火气大了,我看不出robbin有什么不屑。
to:robbin 所谓会者不难、难者不会,我觉得不懂就问这很好。
to:抛出异常的爱 为什么要隐呢,在深圳看香港新闻就常常被cut,这有意思么,jboss论坛上也有很多所谓的低级问题也放了好多年了。


jboss的低级问题不回答谁会去用jboss啊?那是他们的义务。
香港新闻那是好你喜欢,这个是不好我不喜欢看。
7 楼 zyl 2007-05-14  
如果想看源码的话,介绍你看一下AbstractBeanFactory中
protected Object getObjectForBeanInstance(Object beanInstance, String name, RootBeanDefinition mbd)
中对于
if (beanInstance instanceof FactoryBean)
的判断。
6 楼 maku 2007-05-14  
“FactoryBean得到的不是FactoryBean,而是FactoryBean创造的bean。”

robbin 说的已经很清楚了。
5 楼 jeffen2006 2006-12-14  
to:tomkoo lz的火气大了,我看不出robbin有什么不屑。
to:robbin 所谓会者不难、难者不会,我觉得不懂就问这很好。
to:抛出异常的爱 为什么要隐呢,在深圳看香港新闻就常常被cut,这有意思么,jboss论坛上也有很多所谓的低级问题也放了好多年了。
4 楼 抛出异常的爱 2006-12-14  
由于少看javaeye才有风格....
如果不知道怎么问问题....上来也是被隐的结果...
3 楼 robbin 2006-12-14  
tomkoo 写道
robbin 写道
你还是好好去看看spring文档吧,看看FactoryBean是个什么样的bean。


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


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

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

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

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

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

你觉得这样的问题该不该问呢?
2 楼 tomkoo 2006-12-14  
robbin 写道
你还是好好去看看spring文档吧,看看FactoryBean是个什么样的bean。


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

相关推荐

    Spring+hibernate整合源代码

    4. **SessionFactory 创建**:使用 Spring 的 LocalSessionFactoryBean 创建 Hibernate 的 SessionFactory。配置文件中需要包含实体类的扫描路径、数据库连接信息、Hibernate 配置属性等。 5. **DAO 层集成**:在 ...

    Spring与hibernate 整合 简单示例

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.MySQL5Dialect &lt;prop key="hibernate.show_sql...

    Spring,Hibernate整合源码

    当这两个框架进行整合时,可以实现更高效、更灵活的Java应用程序开发。 Spring框架以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)闻名,它使得代码更加模块化,降低...

    spring与hibernate的整合

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;property name="dataSource"&gt;&lt;ref bean="dataSource" /&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate....

    Spring与Hibernate整合小例子

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; &lt;!-- Hibernate配置 --&gt; &lt;bean id="transactionManager" class="org.springframework.orm.hibernate5....

    Spring+Hibernate整合

    这种整合能够充分利用Spring的管理能力,对Hibernate进行配置和控制,同时利用Spring的数据访问支持,如JdbcTemplate或HibernateTemplate,来简化数据操作。 在整合过程中,首先需要配置Spring的ApplicationContext...

    Spring与Hibernate整合实例(博客用户登录增删改查)

    2. **配置Spring**:创建Spring的配置文件,例如`applicationContext.xml`,这里需要配置DataSource、SessionFactory,以及使用Hibernate的LocalSessionFactoryBean。 3. **数据访问对象(DAO)**:为博客用户创建...

    Spring整合Hibernate案例

    - Spring提供了`AbstractTransactionalDataSourceSpringContextTests`基类,用于创建基于Spring的事务测试环境,方便对整合后的代码进行单元测试。 6. **优点** - **解耦**:通过Spring管理Hibernate的...

    org.springframework.orm.hibernate3.LocalSessionFactoryBean

    在开发基于Spring与Hibernate整合的应用时,可能会遇到“`org.springframework.orm.hibernate3.LocalSessionFactoryBean` not found”这样的错误提示。这个问题通常发生在尝试通过Spring管理Hibernate ...

    SSH整合学习笔记之spring与hibernate整合(二)之c3p0

    整合Spring和Hibernate时,我们需要在Spring的配置文件中定义数据源,这里就是使用c3p0作为数据源。以下是一个简单的配置示例: ```xml &lt;!-- c3p0配置属性 --&gt; ``` 接下来,我们还需要配置...

    第25,26讲 --搭建和配置Spring与Hibernate整合的环境

    在本主题中,我们将深入探讨如何...&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; &lt;property name="configLocation" value="classpath:hibernate.cfg.xml"/&gt; ...

    flex+Spring+Hibernate整合配置详解

    Flex+Spring+Hibernate 整合是企业级应用开发中常见的一种技术栈组合,它结合了Flex前端的富互联网应用程序(RIA)开发能力、Spring框架的依赖注入和事务管理功能,以及Hibernate持久化框架的数据库操作便捷性。...

    Spring整合HIbernate

    《Spring整合Hibernate实战指南》 在Java开发领域,Spring框架以其强大的依赖注入、AOP(面向切面编程)以及丰富的模块支持,成为了企业级应用开发的首选。而Hibernate作为持久层框架,以其对象关系映射(ORM)能力...

    Spring整合Hibernate.jar

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; &lt;!-- 其他配置属性 --&gt; ``` 3. **配置DataSource**:定义数据源Bean,这通常是连接到数据库所需的配置...

    SpringMVC与Hibernate整合所需jar

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.MySQL5Dialect &lt;prop key="hibernate.show_sql...

    JavaEE spring和Hibernate整合(没有hibernate.cfg.xml)

    但在Spring中,我们可以利用Spring的`LocalSessionFactoryBean`替代`hibernate.cfg.xml`,将Hibernate的配置信息整合到Spring的配置文件中,这样可以更好地实现依赖注入和管理。 1. **Spring配置Hibernate** - 在...

    Spring与Hibernate集成

    通过Spring对Hibernate的管理,我们可以更好地控制事务、实现解耦,同时降低出错的可能性。此外,Spring的AOP支持使得事务管理更加简单,提高了代码的可测试性。在实际项目中,这种集成方式被广泛应用,是Java EE...

    spring hibernate security整合

    在整合Spring时,我们需要创建一个Hibernate配置文件(如hibernate.cfg.xml),配置数据库连接信息,然后通过Spring的LocalSessionFactoryBean来创建SessionFactory。同时,Spring的HibernateTemplate或...

    struts+spring+hibernate三大框架整合

    1. **SessionFactory的创建**:Spring管理SessionFactory,通常在ApplicationContext.xml中配置,通过`&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt;`指定数据源...

Global site tag (gtag.js) - Google Analytics