
Josue Alonso
PreguntaHola buenas noches, he intentado todo, revisado cada comentario en este video y el siguiente, buscado por internet y aún no puedo hacer funcionar la aplicación,
presento las siguientes excepciones:
2021-04-08 23:48:53.330 WARN 5692 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productService': Unsatisfied dependency expressed through field 'productRepository'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productoRepository': Unsatisfied dependency expressed through field 'mapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.platzi.market.persistence.mapper.ProductMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} Field mapper in com.platzi.market.persistence.ProductoRepository required a bean of type 'com.platzi.market.persistence.mapper.ProductMapper' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Consider defining a bean of type 'com.platzi.market.persistence.mapper.ProductMapper' in your configuration.
Esas clases las tengo tal cual están en un repositorio suyo que compartió en un comentario ya que presentan errores algunas clases en este video.
Estoy usando STS

José manuel Sanchez Juarez
alguien encontro la solucion a este error

Nevin Orlando Santana Escoto
En mi caso fue que en la carpeta presistence.crud.ProductoCrudRepository tenía mal declarada la consulta en el método Optional:
lo tenía: findByCantidadStockLessThanEstado lo correcto: findByCantidadStockLessThanAndEstado
Ya al llamarla en ProductoRepository en el método getScarceProducts, lo cambié igual y ya con eso me compiló.
Saludos!

Josue Alonso
Pude solucionarlo pero no de la forma que yo quería aunque me sirve para poder continuar con el curso: me pasé a intelliJ en vez de usar STS y funciona a la perfección el código, a pesar de ser uno de los frameworks más utilizados STS, nadie brindaba una correcta solución al problema, desde ya quiero agradecer a cesarcalad que me ayudó por telegram.

Josue Alonso
Sigo sin poder encontrar una solución, quiero avanzar con el curso :(

Josue Alonso
si he revisado las clases pero no he encontrado el error

César Augusto Calad Hernández
y en la clase ProductoRepository o ProductService o en otras clases en sus atributos, donde estas llamando las clases Mapper, lo estas inyectando(@Autowired)? Tambien puede ser, que en alguna de estas clases le falta los componentes. Por ejemplo
@Service public class ProductDomainService {}
Si el error persiste, me podes escribir en telegram @CesaMaster

Josue Alonso
Hola buenos días, gracias por tu respuesta, eso ya lo tengo bien, así que no he podido solucionarlo aún

César Augusto Calad Hernández
No he consultado por internet ese error, pero puede ser lo siguiente:
@Mapper(componentModel = "spring") //No tengas esta anotación public interface ProductDomainMapper {}
@Autowired //No lo has inyectado private ProductDomainMapper mapper;
@Mapper(componentModel = "spring", uses = {categoryDomainMapper.class}) //Te falta añadir el parametro usea; Aunque si falta, da una advertencia public interface ProductDomainMapper {}
Me dices, si lo solucionaste. Saludos!