创建bean失败会造成创建sessionFactory报空指针异常

本文探讨了在使用Spring框架时遇到的HibernateTemplate创建异常问题,具体为无法注入sessionFactory导致的nullPointException。通过分析配置文件中的AnnotationSessionFactoryBean组件,解释了如何正确配置sessionFactory和packagesToScan属性以避免此类错误。文章提供了详细的解决方案和实例代码,帮助开发者理解并解决类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Caused by: org.springframework.beans.factory.BeanCreationException:
 Could not autowire field: private org.springframework.orm.hibernate3.HibernateTemplate
 com.habuma.spitter.persistence.HibernateSpitterDao.hibernateTemplate;
 nested exception is org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'hibernateTemplate' defined in class path resource [spitterApplicationContext.xml]:
 Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory';
 nested exception is org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'sessionFactory' defined in class path resource [spitterApplicationContext.xml]:
 Invocation of init method failed; nested exception is java.lang.NullPointerException

 

当domain中的实体bean创建出错时,可能会造成sessionFactory创建出错,报以下Exception:

nested exception is java.lang.NullPointerException

 

因为:sessionFactory 这个bean 中有个propterty:packagesToScan

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		
		<property name="packagesToScan">
			<list>
				<value>com.habuma.spitter.domain</value>
			</list>
		</property>
		
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
				<prop key="hibernate.format_sql">{hibernate.format_sql}</prop>
				<prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
				<prop key="javax.persistence.validation.mode">none</prop>
			</props>
		</property>
	
	</bean>

 当不能扫描到那个domain中的bean时,或bean创建失败时,会报nullPointException。

 


以上纯属个人意见,有误请高人指正

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值