public BaseDAOImpl<Alarm,java.lang.Integer> alarmDao;
@Autowired
public void setAlarmDao(SessionFactory sessionFactory) {
alarmDao=new BaseDAOImpl<Alarm,Integer>(Alarm.class,sessionFactory);
}后面引用alarmDao报空指针异常
@Autowired
public void setAlarmDao(SessionFactory sessionFactory) {
alarmDao=new BaseDAOImpl<Alarm,Integer>(Alarm.class,sessionFactory);
}后面引用alarmDao报空指针异常
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: public com.strogit.assetsmanagement.dao.impl.BaseDAOImpl com.strogit.assetsmanagement.service.impl.AlarmServiceImpl.alarmDao; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.strogit.assetsmanagement.dao.impl.BaseDAOImpl] is defined: Unsatisfied dependency of type [class com.strogit.assetsmanagement.dao.impl.BaseDAOImpl]: expected at least 1 matching bean
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:435)
at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:105)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:240)
... 40 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.strogit.assetsmanagement.dao.impl.BaseDAOImpl] is defined: Unsatisfied dependency of type [class com.strogit.assetsmanagement.dao.impl.BaseDAOImpl]: expected at least 1 matching bean
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:613)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:412)
... 42 more
即:<context:annotation-config/>,另外还需要打开Spring扫描创建Bean功能: <context:component-scan base-package="你的包名"/>2、BaseDAOImpl 是类,那么应该有个BaseDAO接口。BaseDAOImpl类名上面应该标注上@Repository("alarmDao"),才可以在别的类中如下注入:
@Autowired public BaseDAOImpl <Alarm,java.lang.Integer> alarmDao;