SpringBoot: comprobación de un servicio con el constructor inyección de dependencias

Sandro Rey :

Tengo una aplicación SpringBoot REST (Arquitectura) he definido este servicio que utiliza la inyección de dependencias Constructor

@Service
@Slf4j
public class HostelService {

    private final HostelRepository hostelRepository;

    HostelService(HostelRepository hostelRepository) {
        this.hostelRepository = hostelRepository;
    }
}

Quiero usarlo en una prueba de integración:

@RunWith(SpringRunner.class)
@SpringBootTest
public class HostelServiceIntegrationTest {

    public static final String Hostel_1 = "Hostel::1";

    @Autowired
    protected HostelRepository hostelRepository;

    @Autowired
    private HostelService hostelService;


    //...
}

@Repository
public interface HostelRepository extends CouchbaseRepository<Hostel, String> {

}

pero tengo este error:

..Unsatisfied dependency expressed through constructor parameter 0;

Causado por:

org.springframework.beans.factory.NoSuchBeanDefinitionException: Sin calificar frijol del tipo 'io.clouding.repository.HostelRepository' disponibles: esperar al menos 1 frijol, que califica como Autowire candidato. anotaciones de dependencia: {}

y en la Aplicación:

@SpringCloudApplication
@SpringBootApplication
@EnableJpaRepositories("io.clouding.repository")
@ComponentScan(basePackages = { "io.clouding.repository" })
public class Application implements WebMvcConfigurer {
..
}
Supun Wijerathne:

Espero que su problema es que su frijol, HostelRespositoryno está siendo creado. Y es una CouchbaseRepository. Espero que ni siquiera ha creado en entorno no prueba también.

Lo que tienes que hacer es, en lugar de

@EnableJpaRepositories("io.clouding.repository")

añadir

@EnableCouchbaseRepositories(basePackages = {"io.clouding.repository"})

Esto ayudará a tiempo de ejecución para crear el grano para usted. Por lo que su problema específico será resuelto.

nota :

Tenga en cuenta que, si no se ha configurado todavía las configuraciones subyacentes necesarios para spring-data-couchbase, es posible que vea algunos otros errores después de la fijación del mismo, que usted tiene que fijar según la configuración. Puede hacer referencia a este .

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=332350&siteId=1
Recomendado
Clasificación