Java [解决方案]:Spring boot中出现未满足的PendencyException异常

Java [解决方案]:Spring boot中出现未满足的PendencyException异常,java,spring-boot,spring-data-jpa,Java,Spring Boot,Spring Data Jpa,GuestRepository.java public interface GuestRepository extends PagingAndSortingRepository<Guest,Integer> { Guest findOne(int id); } import java.util.*; @Service public class ReservationService { private RoomRepository roomReposit

GuestRepository.java

public interface GuestRepository extends PagingAndSortingRepository<Guest,Integer> 
{
        Guest findOne(int id);
}
import java.util.*;

@Service
public class ReservationService {

    private RoomRepository roomRepository;
    private GuestRepository guestRepository;
    private ReservationRepository reservationRepository;

    @Autowired
    public ReservationService(RoomRepository roomRepository, GuestRepository guestRepository, ReservationRepository reservationRepository) {
        this.roomRepository = roomRepository;
        this.guestRepository = guestRepository;
        this.reservationRepository = reservationRepository;
    }

    public List<RoomReservation> getRoomReservationForDate(Date date){
        Iterable<Rooms> rooms=this.roomRepository.findAll();
        Map<Integer,RoomReservation> roomReservationMap=new HashMap<>();
        rooms.forEach(room->{
            RoomReservation roomReservation=new RoomReservation();
            roomReservation.setRoomId(room.getId());
            roomReservation.setFirstName(room.getName());
            roomReservation.setRoomNumber(room.getNumber());
            roomReservationMap.put(room.getId(),roomReservation);
        });

        Iterable<Reservation> reservations=this.reservationRepository.findByDate(new java.sql.Date(date.getTime()));
        if(reservations==null){
            reservations.forEach(reservation -> {
                Guest guest=this.guestRepository.findOne(reservation.getGuestId());
                if(guest==null){
                    RoomReservation roomReservation=roomReservationMap.get(reservation.getReservationId());
                    roomReservation.setDate(date);
                    roomReservation.setFirstName(guest.getFirstName());
                    roomReservation.setLastName(guest.getLastName());
                    roomReservation.setGuestId(guest.getGuest_id());
                }
            });
        }
        List<RoomReservation> roomReservations=new ArrayList<>();
        for (Integer roomId:roomReservationMap.keySet()){
            roomReservations.add(roomReservationMap.get(roomId));
        }
        return roomReservations;


    }

}
@SpringBootApplication
public class ReservationsApplication {

public static void main(String[] args) {
    ApplicationContext applicationContext=SpringApplication.run(ReservationsApplication.class, args);
    String[] beanNames=applicationContext.getBeanDefinitionNames();
    Arrays.sort(beanNames);
    for (String name:beanNames) {
        System.out.println(name);
    }
}
}
错误

org.springframework.beans.factory.unsatifiedDependencyException: 创建文件中定义了名为“reservationService”的bean时出错 [/Users/ashlin/Downloads/reservations/target/classes/com/ashlinkarkada/reservations/business/service/ReservationService.class]: 通过构造函数参数1表示的未满足依赖关系; 嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“guestRepository”的bean:init方法的调用 失败;嵌套异常为java.lang.IllegalArgumentException:失败 为方法公共摘要创建查询的步骤 com.ashlinkarkada.reservations.data.entities.Guest com.ashlinkarkada.reservations.data.repository.GuestRepository.findOne(int)! 找不到类型Guest的属性findOne

解决方案:

public interface GuestRepository extends JpaRepository<Guest,Integer> {
@Override
Guest getOne(Integer integer);
}
public interface GuestRepository扩展了JpaRepository{
@凌驾
Guest getOne(整数);
}

这个问题可能有用。它在问题的描述中包含了答案。谢谢。由于findOne方法已经被采用,我不得不从JpaRepository接口重写“getOne()”方法。