问题描述
我在创建测试课程时遇到了麻烦。 当我尝试运行时,发生以下错误:
例外 由以下原因引起:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“ productsImpl”的bean时出错:通过字段“ paginateUtil”表示不满意的依赖关系;嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为'com.repository.paginacao.PaginateUtil'的合格Bean:期望至少有1个有资格作为自动装配候选的Bean。依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true)} 在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586)处 在org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91) 在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:372)
@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@SpringBootTest
public class ClientTest {
@Autowired
private ClientService clientService;
public ExpectedException exception = ExpectedException.none();
@Test
public void createClient() {
Client client = new Client("Demo","Adress 1");
clientService.save(client);
Assertions.assertThat(client.getId).isNull();
}
}
客户端存储库
public interface Clients extends JpaRepository<Client,Long>,ClientQuery {
}
ClientQuery
public interface ClientQuery{
public Page<Client> filter(ClientFilter filter,Pageable pageable);
}
ClientImpl
public class ClientImpl implements ClientQueries {
@PersistenceContext
private EntityManager manager;
@Autowired
private PaginateUtil paginateUtil;
@SuppressWarnings("unchecked")
@Override
@Transactional(readOnly = true)
public Page<Client> filter(ClientFilter filter,Pageable pageable) {
Criteria criteria = manager.unwrap(Session.class).createCriteria(Client.class);
paginateUtil.preparar(criteria,pageable);
addFilter(filter,criteria);
return new PageImpl<>(criteria.list(),pageable,total(filter));
}
private Long total(ClientFilter filter) {
Criteria criteria = manager.unwrap(Session.class).createCriteria(Client.class);
addFilter(filter,criteria);
criteria.setProjection(Projections.rowCount());
return (Long) criteria.uniqueResult();
}
private void addFilter(ClientFilter filter,Criteria criteria) {
if (filter != null) {
if (!StringUtils.isEmpty(filter.getName())) {
criteria.add(Restrictions.ilike("name",filter.getName(),MatchMode.ANYWHERE));
}
}
}
}
PaginateUtil @零件 公共类PaginateUtil {}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)