У меня есть одна раздражающая проблема прямо сейчас. Мои тесты терпят неудачу из-за autowire.
Не удалось автоматически связать поле: private k.dao.CompanyDao k.dao.CompanyDaoTest.companyDao; вложенным исключением является org.springframework.beans.factory.NoSuchBeanDefinitionException: для зависимости не найдено соответствующего bean-компонента типа [k.dao.CompanyDao]: ожидается по крайней мере 1 bean-компонент, который квалифицируется как кандидат autowire для этой зависимости.
Я думаю, что @ContextConfiguration может быть проблемой?
Тест
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:**/servlet-context.xml", "classpath:**/root-context.xml", "classpath:**/ccc-jpa.xml" })
public final class CompanyDaoTest {
@Autowired
private CompanyDao companyDao;
@Test
public void testTest() {
}
}
КомпанияДао
public interface CompanyDao extends GenericDao<Company> {
}
КомпанияDaoJpa
@Repository("companyDao")
public class CompanyDaoJpa extends GenericDaoJpa<Company> implements CompanyDao {
public CompanyDaoJpa() {
super(Company.class);
}
}
ОбщийДао
public interface GenericDao<T extends DomainObject> {
public T get(Long id);
public List<T> getAll();
public T save(T object);
public T delete(T object);
}
servlet-context.xml
<annotation-driven />
<context:component-scan base-package="k"/>