2012-05-28 3 views
3

실패 나는 예외 것 같다봄 주입 내가 <code>BaseDAO</code> 일부 서브 클래스 예를

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of resource fields failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.cloudking.trafficmonitor.BaseDAO] is defined: expected single matching bean but found 3: [roleDAO, userDAO 

답변

1

을 encount 그렇게 그들의 모든 BaseDAO를 확장 3 개 수업을 BaseDao 재 (IS A)

당신은 예를 들어 @Resource

name 속성을 사용해야합니다

@Component 
public RoleDao extends BaseDao{/* some code*/} 

지금 당신이 다음

UserDao을 주입 할 경우

@Component 
public UserDao extends BaseDao{/* some code*/} 

@Resource(name="userDao") 
BaseDao baseDao 
0

사용 @Qualifier("UserDaoImpl")

또는 사용 @Resource(name="UserDaoImpl")

0

응용 프로그램이 빈 BaseDAO를 찾을 수 없습니다. @ Component (또는 @ Service, 이것에 대해 확실하지 않음)로 BaseDAO에 주석을 달아야합니다.

관련 문제