Java
Co się stanie, jeśli spróbujesz uzyskać ten sam bean kilka razy w ApplicationContext?
Czy w kontekście logiki biznesowej konieczne jest uwzględnienie wszystkich pól encji podczas implementacji metody equals?
Jakie typy danych mogą być zwracane w Spring MVC?
Kto kontrolował i zarządzał bazami danych w twoim ostatnim projekcie?
Czy stosowałeś poziom izolacji Repeatable Read w swoich projektach?
Ile bajtów zajmuje typ danych long w pamięci?
Czym różni się statyczne i dynamiczne wiązanie metod w Java i jakie są ich cechy?
Czy możesz wyjaśnić różnicę między pojęciami polimorfizmu a abstrakcji w programowaniu obiektowym?
Przeczytaj kod i podkreśl błędy /** * Klient z zakupionym biletem może za dodatkową opłatą wybrać konkretne miejsce. * Cena bazowa miejsc jest określana przez taryfy (zewnętrzny serwis). * Dla klientów z określonymi taryfami (PREMIUM, ULTRA) konieczne jest zastosowanie zniżki przy płatności. * Przy rezerwacji klientowi wystawiana jest faktura do zapłaty. Zarządzanie płatnościami odbywa się w zewnętrznym serwisie. */ @Service public class SeatBookingService { @Autowired private SeatBookingRepository seatBookingRepository; @Autowired private TicketRepository ticketRepository; @Autowired private TariffClient tariffClient; @Autowired private CustomerClient customerClient; @Autowired private PaymentClient paymentClient; /** * Rezerwacja. * @param seatCode kod miejsca (np. 19A) * @param ticketId ID biletu */ @Transactional public void bookSeat(String seatCode, UUID ticketId) { var ticket = ticketRepository.findById(ticketId); //rezerwujemy var seatBooking = new SeatBooking(seatCode, ticket.get().getFlightId(), ticketId, BookingStatus.BOOKED); seatBookingRepository.save(seatBooking); //szukamy podstawowej taryfy dla wybranego miejsca w samolocie var basePrice = tariffClient.getBasePrice(ticket.get().getPlaneModel(), seatCode); //szukamy danych klienta Long userId = (Long) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); var userData = customerClient.getCustomer(userId); System.out.println("Znaleziono użytkownika " + userData.getFio() + " numer dokumentu " + userData.getDocument()); var price = basePrice; if (userData.getTariff() == "PREMIUM") { //50% zniżki price = basePrice * 0.5d; } if (userData.getTariff() == "ULTRA") { //20% zniżki price = basePrice * 0.8d; } var invoice = new Invoice(price, ticketId, userId); //wystawiamy fakturę paymentClient.sendInvoice(invoice); System.out.println("Faktura wystawiona"); } @Data @Table("seat_booking") public class SeatBooking { @Column private String seatCode; @Column private UUID flightId; @Column private UUID ticketId; @Column private BookingStatus status; } public enum BookingStatus { BOOKED, PAID; }
Do czego służą funkcjonalne interfejsy ToDoubleFunction<T>, ToIntFunction<T> i ToLongFunction<T> w Java?
Jaka jest główna różnica między interfejsami Comparable i Comparator w Java podczas sortowania obiektów?
Jakie źródła wykorzystujesz do poszukiwania materiałów edukacyjnych i aktualizacji w dziedzinie technologii?
Z jakim interfejsem funkcyjnym pracujemy w metodzie map()?
Czym są tworzone zapytania do bazy danych?
Na czym polega różnica między testami jednostkowymi a testami integracyjnymi?
Jakimi wartościami są domyślnie inicjalizowane zmienne w Java?
Jaka jest kolejność wywołań konstruktorów i bloków inicjalizacyjnych z uwzględnieniem hierarchii klas?
Czy możesz wyjaśnić, jak przeprowadzany jest atak typu SQL Injection i jak wykorzystuje luki w bazie danych?
Na czym polega różnica między bazami danych SQL a NoSQL?
Czym jest hierarchia API Collections w Java?