spring IOC的问题
刚学spring ,看着说springIOC等于不需要自己new对象,由spring来管理,所以自己做了一个小实验,结果总是失败,在此请教朋友们解答疑虑! 项目采用springmvc+ibatis
----------spring里面的部分配置------------
<bean id="sqlMap"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation"
value="WEB-INF/SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="dao" class="com.bh.common.dao.CommonDao">
<property name="sqlMapClient" ref="sqlMap" />
</bean>
<bean class="com.bh.common.dao.CommonDaoUtils">
<property name="dao" ref="dao" />
</bean>
-----------------------------------------------------------
package com.bh.common.dao;
public class CommonDaoUtils {
private static CommonDao dao ;
public static CommonDao getDao() {
return dao ;
}
public void setDao(CommonDao dao) {
CommonDaoUtils.dao = dao;
}
}
-------------------------------------------------------------
按照我的理解是这样的,通过spring的配置将CommonDao类注入给CommonDaoUtils,上面的这样配置程序没有问题。
问题是我将 <bean class="com.bh.common.dao.CommonDaoUtils">
<property name="dao" ref="dao" />
</bean>这段代码注释掉,不用spring的配置,而是自己在CommonDaoUtils类里面使用new,private static CommonDao dao = new CommonDao();改成这样后程序出现java.lang.NullPointerException异常,不知道是什么原因,spring里面的bean不就是不用自己new对象,由spring来完成吗,而我现在不用spring来完成,自己new却出现异常,请问是什么原因