我正在用Spring 4創建一個應用程序& Hibernate。 當我在服務器上運行應用程序時,它工作正常。然而,當我運行單元測試,在控制檯顯示以下錯誤:Spring4 + JUnit:未定義[dao.impl.GenericDAOImpl]類型的合格bean:期望的單個匹配bean,但找到33
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [dao.impl.GenericDAOImpl] is defined: expected single matching bean but found 33: genericDAO,userDAO,profileDAO,chartDAO,dashboardDAO, ...
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:beans.xml"})
public class UserServiceTest extends BaseTest {
@Autowired
private UserService userService;
@Before
public void setUp() {
System.out.println("Before");
userService = new UserServiceImpl();
}
@Test
public void testAdd() {
User user = new User();
user.setEmail("email");
user.setFirstName("firstName");
user.setLastName("lastName");
user.setPassword("password");
userService.create(user);
}
public void setUserService(UserService userService) {
this.userService = userService;
}
}
我已經嘗試在服務類中放入'@ Qualifier',但仍然不起作用。但是,它在主應用程序中可以正常工作,無論是否有'@ Qualifier'。據我所知,Spring4不再需要'@ Qualifier'。這是我的服務類: '公共類UserServiceImpl實現UserService {'' @ Autowired' '@Qualifier( 「userDAO的」)'' 私人的UserDAO userDAO的;'' @ Autowired' '@Qualifier(「profileDAO 「)' '私人ProfileDAO profileDAO;' '...' '}' – 2014-09-03 06:44:57