Spring找不到bean
场景:SSM整合下,有名为RPCMonAlarmRuleDaoDao的接口,在包com.lss.owl.common.dao下,
配置文件是自动扫描包的(<context:component-scan base-package="com.jumei.owl.**.service, com.lss.**.**.dao" />)
Tomcat启动报错信息:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.lss.owl.common.dao.RPCMonAlarmRuleDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1466)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1097)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:589)
... 25 more
Service的注解声明如下,其中ProjectAlarmDao 和 RPCMonAlarmRuleDao 是在同一包下
@Autowired
private ProjectAlarmDao alarmUproDao; (能找到bean)
@Autowired
private RPCMonAlarmRuleDao rpcMonAlarmRuleDao;(不能找到bean)
ProjectAlarmDao如下:
package com.lss.owl.common.dao;
import java.util.List;
import com.lss.owl.common.domain.AlarmUser;
import com.lss.owl.common.domain.ProjectAlarm;
public interface ProjectAlarmDao{
int deleteByPrimaryKey(Long userId,Long project_id);
int insert(ProjectAlarm record);
int insertSelective(ProjectAlarm record);
}
RPCMonAlarmRuleDao如下:
package com.lss.owl.common.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.lss.owl.common.domain.RPCMonAlarmRule;
@Repository (这个地方不使用@Repository同样会报找不bean的错误)
public interface RPCMonAlarmRuleDao{
int deleteByPrimaryKey(Integer id);
int insert(RPCMonAlarmRule record);
int insertSelective(RPCMonAlarmRule record);
}