spring 用set 方法不能注入?
ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContext.xml");
RecordDao dao = (RecordDao)bf.getBean("recordDao");
dao.save(r);
我用以上方法能运行,不会报错。但是我改成
private RecordDao recordDao;
public RecordDao getRecordDao() {
return recordDao;
}
public void setRecordDao(RecordDao recordDao) {
this.recordDao = recordDao;
}
.........
recordDao.save(r);
却不能注入。System.out.println(userDao); 打印结果为空。
配置文件如下:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- <bean id="hibernateTemplet"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> -->
<bean id="userDao" class="fanfull.order.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="recordDao" class="fanfull.order.dao.impl.RecordDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
为什么?