22 Często zadawane pytania i odpowiedzi podczas wywiadu dotyczącego wiosennego rozruchu

Czy jesteś programistą Java Spring Boot i nie możesz się doczekać nadchodzącego wywiadu, ale nie jesteś pewien, jakich pytań się spodziewać? Jesteśmy tutaj aby pomóc!

Ten artykuł pomoże ci odpowiednio się przygotować, przedstawiając kilka często zadawanych pytań i odpowiedzi podczas rozmowy kwalifikacyjnej Spring Boot, które ankieterzy mogą wykorzystać, aby cię przetestować.

Ankieterzy używają strategicznych pytań Java Spring Boot, aby sprawdzić poziom umiejętności rozmówców w odniesieniu do wyznaczonej im roli. Dlatego musisz przygotować się z odpowiednimi pytaniami i wiedzieć, jak na nie odpowiedzieć.

Zanim przejdziemy od razu do pytań do rozmowy kwalifikacyjnej i odpowiadających im odpowiedzi, omówimy podstawowy przegląd tego, czym jest Spring Boot i jak bardzo jest pomocny dla programistów Java.

Co to jest wiosenny rozruch Java?

Ta platforma Java została stworzona przez kluczowy zespół w 2014 roku. Spring Boot, który jest platformą typu open source, skutecznie tworzy aplikacje, które są niezależne, klasy produkcyjnej i mogą być również uruchamiane na wirtualnej maszynie Java (JVM).

Programiści Java preferują go do tworzenia aplikacji internetowych i mikrousług ze względu na szybki i łatwy proces instalacji oraz bezpieczny czas konfiguracji.

Łatwa konfiguracja i konfiguracja aplikacji opartych na Spring przez Spring Boot jest możliwa dzięki trzem podstawowym funkcjom, które obejmują:

  • Autokonfiguracja – czyli automatyczna konfiguracja aplikacji Spring.
  • Spring Boot zapewnia zdecydowane podejście do domyślnych ustawień konfiguracji i pakietów do zainstalowania dla wymaganych zależności. To ugruntowane podejście pomaga w szybkim przygotowaniu projektów.
  • Sprsetupoot umożliwia niezależne uruchamianie aplikacji bez konieczności korzystania z serwera WWW.

W jaki sposób Spring Boot jest pomocny dla programistów Java?

Po pierwsze, programiści Java używający Spring Boot mają łatwiejszy dostęp do automatycznej konfiguracji wszystkich komponentów wymaganych do stworzenia aplikacji Spring klasy produkcyjnej. To na dłuższą metę skraca czas rozwoju i ostatecznie zwiększa ich wydajność.

Spring Boot łatwo integruje się również z ekosystemem Spring, który obejmuje Spring JDBC, Spring Data, Spring Security i Spring ORM.

Programiści Java mogą również łączyć Spring Boot z różnymi bazami danych, takimi jak między innymi Oracle, MySQL, PostgreSQL i MongoDB.

Oczywiście między innymi przydatnymi funkcjami są elastyczne konfiguracje z konfiguracjami XML, Java Beans i transakcjami w bazie danych.

Dlatego teraz, gdy masz już podstawowy przegląd Spring Boot, rozważmy niektóre z często zadawanych pytań i odpowiedzi na rozmowę kwalifikacyjną Spring Boot, które pomogą Ci przygotować się do rozmowy kwalifikacyjnej.

Pytania i odpowiedzi dotyczące wywiadu Spring Boot

Jakie są cechy Spring Boot?

Niektóre z tych popularnych funkcji to:

  • Spring Boot CLI udostępnia Groovy do pisania aplikacji Spring Boot; na dłuższą metę unika się kodu wzorcowego.
  • Spring Boot zapewnia logowanie i funkcję bezpieczeństwa, która z łatwością zabezpiecza Twoją aplikację przed potencjalnymi zagrożeniami bezpieczeństwa.
  • Zapewnia automatyczną konfigurację odpowiednich komponentów dla Twojego projektu, unikając w ten sposób ryzyka niepotrzebnych plików WAR.
  • Starter Inicjator określa dla Ciebie domyślną wewnętrzną strukturę projektu. W ten sposób nie musisz ręcznie konfigurować struktury projektu.
  • Funkcja siłownika Spring Boot zapewnia dostęp do informacji i metryk w trakcie działania aplikacji.
  • Oczywiście jedna z kluczowych funkcji Spring Boot, Starter Dependency, pomaga zagregować często używane zależności danej funkcji.

Co to są rozruszniki sprężynowe?

Startery Spring Boot to deskryptory zależności, które zawierają zestaw dostawców zarządzania zależnościami, które włączają zależności aplikacji. Zapewniają strukturę z funkcją Auto-Dependency Resolution. Startery usprawniają łatwy i szybki rozwój.

Czym jest siłownik w Spring Boot i jakie są jego zalety?

Siłownik jest jedną z funkcji Spring Boot, która umożliwia monitorowanie tego, co dzieje się wewnątrz aplikacji podczas jej działania.

Na przykład podczas debugowania można użyć siłownika do analizy logów, umożliwiając dostęp do funkcji, takich jak wykorzystanie procesora i identyfikacja ziaren.

Ponadto siłownik zapewnia nie tylko łatwy dostęp do gotowych do produkcji punktów końcowych REST, które monitorują i zarządzają informacjami, ale także pobiera dane z sieci.

Czym jest liść tymianku i jak korzystać z liści tymianku?

Thymeleaf to szablon Java po stronie serwera, który tworzy naturalny układ szablonu dla aplikacji internetowych Java Spring i HTML5.

Spring Boot wykona automatyczną konfigurację Thymeleaf przy użyciu zależności spring-boot-starter-thymeleaf w pliku pom.xml w celu udostępnienia dynamicznej zawartości sieci Web.

Aby umożliwić Spring Boot odczytywanie i renderowanie szablonów thymeleaf lub plików HTML, umieść szablony w src/main/resources/templates.

Thymeleaf analizuje następnie plik index.html i używa rzeczywistych wartości przekazanych z klasy kontrolera zamiast dynamicznych wartości dostępnych w pliku indeksu.

Następnie komunikat jest renderowany w przeglądarce internetowej zaraz po uruchomieniu aplikacji Spring Boot.

org.springframework.boot spring-boot-starter-thymeleaf

Opisz proces tworzenia projektu Spring Boot za pomocą Spring Initializer.

Spring Initializr, które jest narzędziem internetowym Spring, umożliwia utworzenie projektu Spring Boot za pomocą kilku kroków, podając szczegóły projektu.

  • Udaj się do intializr Spring i wypełnij pola wejściowe.
  • Kliknięcie przycisku Generuj rozpocznie pobieranie projektu.
  • Wyodrębnij pobrany projekt z pliku zip i otwórz go ze swojego IDE. W IDE przejdź do Plik->Nowy->Projekt z istniejących źródeł->Spring-boot-app, a następnie wybierz plik pom.xml. Kliknij monit importu zmian, aby projekt został zsynchronizowany. Następnie pamiętaj, aby przejść do pliku application.properties i zmienić numer server.port na server.port=7000.
  • Teraz uruchom aplikację z src->main->java->com.gfg.Spring.boot.app
  • Co to jest JPA w Spring Boot?

    Jest to specyfikacja w języku Java, która wykorzystuje mapowanie relacji obiektowych (ORM) do zarządzania danymi relacyjnymi i umożliwia dostęp do danych między obiektem Java lub klasą Java a relacyjną bazą danych aplikacji.

    JPA używa języka Java Persistent Query Language (JPQL), zorientowanego obiektowo języka zapytań, który jest również niezależny od platformy.

    JPA umożliwia przetwarzanie zapytań i transakcje obiektowe w bazie danych przy użyciu udostępnianego przez nią interfejsu API Entity Manager.

    Co to jest autokonfiguracja w Spring Boot?

    Automatyczna konfiguracja ma na celu zautomatyzowanie konfiguracji aplikacji Spring Boot przy użyciu zależności jar, które dodajesz do aplikacji.

    W zależności od dostępnych zależności w ścieżce klas aplikacji, autokonfiguracja zadeklaruje wbudowane obiekty modułu specyficznego dla spring, w tym między innymi JPA i spring security.

    Czym są adnotacje wiosenne?

    Adnotacje Spring odnoszą się do metadanych oferujących informacje o fragmencie programu i dodają dodatkowe dane do tego programu. Komponenty kodu, w tym klasy i metody, są często powiązane z adnotacjami.

    Adnotacje nie wpływają bezpośrednio na działanie programu ani na późniejsze działanie skompilowanego kodu.
    Ich składnia zaczyna się od symbolu „@”.

    Spring Boot udostępnia sześć głównych typów adnotacji, które obejmują:

    • Adnotacje rdzenia wiosny
    • Wiosenne adnotacje danych
    • Adnotacje o fasoli wiosennej
    • Wiosenne adnotacje internetowe
    • Adnotacje do harmonogramu wiosennego
    • Adnotacje dotyczące wiosennego rozruchu

    Co oznacza Spring Data REST?

    Spring Data REST udostępnia zasoby w RESTful, które znajdują się wokół zasobów Spring Data Resources przy użyciu minimalnego kodu.

    W poniższym przykładzie zastosowano metodę POST, aby zażądać zawartości przy użyciu http://localhost/example jako adresu URL i Content-Type: application/json jako nagłówka.

    Treść żądania:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
    }

    Treść odpowiedzi:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
        "_links": {
            "self": {
                "href": "http://localhost:8080/example/1"
            },
            "person": {
                "href": "http://localhost:8080/example/1"
             }
        }
    }

    Są to obszerny zestaw predefiniowanych narzędzi, których właściwości są stosowane w odpowiednich środowiskach programistycznych, aby ułatwić programowanie i skrócić czas programowania.

    Za każdym razem, gdy zmienisz kod w aplikacji Spring Boot, funkcja Spring Boot DevTools zostanie automatycznie uruchomiona ponownie. W związku z tym oszczędza kłopotów z ręcznym ponownym uruchamianiem aplikacji za każdym razem, gdy zmieniasz kod.

    Co to są dane wiosenne?

    Spring data ma na celu zapewnienie programistom łatwego dostępu do technologii dostępu do danych, takich jak dane relacyjne i nierelacyjne oraz usługi danych w chmurze, ponieważ nadal posiadają specjalne cechy bazowego magazynu danych.

    Jak powiedzieć automatycznej konfiguracji, aby wycofała się, gdy fasola istnieje?

    Tutaj będziesz używać adnotacji @ConditionalOnMissingBean, która zawiera następujące atrybuty name i value.

    • atrybut wartości przechowuje typ fasoli do sprawdzenia
    • atrybut name, który nazywa fasolę do sprawdzenia

    Jak pobrać dane z bazy danych w Spring Boot?

    Możemy uzyskać dostęp do danych z bazy danych MySQL do naszej aplikacji Spring Boot, wykonując następujące kroki.

    Krok 1: Użyj polecenia create DATABASE person, aby utworzyć bazę danych w MySQL.

    Krok 2: W bazie danych utwórz tabelę:

    CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

    Krok 3: Teraz utwórz aplikację Spring Boot, a następnie dodaj do niej JDBC, MySQL i wymagane zależności sieciowe.

    Krok 4: Skonfiguruj bazę danych z pliku application.properties jak poniżej.

    spring.datasource.url=jdbc:mysql://localhost:3306/personDetails
    spring.datasource.username=example123
    spring.datasource.password=example123
    spring.jpa.hibernate.ddl-auto=create-drop

    Krok 5: Następnie zajmijmy się obsługą żądań w klasie kontrolera:

    package com.person;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class JdbcController {
       @Autowired
       JdbcTemplate jdbc;
       @RequestMapping("/save")
       public String index(){
          jdbc.execute("insert into person (name)values(Trial)");
          return "Name entered Successfully";
       }
    }

    Na koniec uruchom aplikację, sprawdzając wpis w bazie danych, aby zobaczyć, do jakich danych uzyskano dostęp.

    Dlaczego potrzebujemy profili wiosennych?

    Profile sprężyste pozwalają na segregację konfiguracji aplikacji różnych części i wykorzystanie ich do określonych zmian.

    Spring Profiles również oszczędza programistom kłopotów z zarządzaniem zewnętrznymi konfiguracjami specyficznymi dla środowiska, jeśli Spring Profiles nie były dostępne.

    Dodatkowo utrudniłoby to synchronizację i oznaczałoby dodatkową potrzebę napisania kilku fabrycznych komponentów, które przyniosłyby pewne wymagane rzeczy w zależności od określonych parametrów specyficznych dla środowiska.

    Czy możemy zmienić port wbudowanego serwera Tomcat podczas rozruchu wiosennego?

    Tak możemy.

    Odbywa się to poprzez manipulowanie plikiem application.properties w celu uwzględnienia właściwości server.port i przypisanie do niej wybranego portu. Spring Boot automatycznie ładuje plik właściwości aplikacji i stosuje wymagane konfiguracje do aplikacji.

    Na przykład można zmienić numer server.port z domyślnej wartości 8080 na server.port= 8081.

    Jak skonfigurować Log4j do logowania?

    Za pomocą tych kilku prostych kroków możemy skonfigurować Log4j do logowania:

  • Najpierw utwórz projekt Java, a następnie kliknij go prawym przyciskiem myszy. Przejdź do MyEclipse->File->New->Java Project, aby nazwać projekt i kliknij Zakończ.
  • Następnie kliknij prawym przyciskiem myszy nazwę projektu Java i wybierz opcję Ścieżka budowania -> Konfiguruj ścieżkę budowania. Ten krok doda plik log4j.
  • Przejdź do biblioteki i kliknij przycisk Dodaj zewnętrzny JARS, a następnie wybierz plik log4j z wyświetlonego menu rozwijanego. Następnie kliknij OK.
  • Utwórz nowy plik java, który nazwiesz plikiem log4j.properties, a następnie kliknij przycisk Zakończ i dodaj ten plik do ścieżki klas.
  • Kliknij Zaawansowane w ścieżce klasy, a następnie wybierz opcję Dodaj foldery i pamiętaj, aby kliknąć OK.
  • Możesz teraz wyszukać plik log4j.properties, kliknąć OK i uruchomić projekt.
  • Sprawdź w konsoli dane wyjściowe poniżej.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Co to jest kontener IoC?

    Kontener IoC (Inversion of Control) jest podstawowym kontenerem Spring, który automatycznie implementuje iniekcję zależności. Tworzy instancję aplikacji klasy i odpowiada za konfigurację obiektów oraz zgromadzenie niezbędnych zależności.

    Zarządza również cyklem życia obiektu od jego powstania do jego zniszczenia.

    IoC wykonuje te zadania przy użyciu konfiguracji metadanych w kodzie Java, XML i adnotacjach Java.

    Kontener jest określany jako Inversion of Control, ponieważ kontroluje obiekty Java i cykle życia tych obiektów. W przeciwnym razie jest to zadanie programisty.

    Wyjaśnij, jak utworzyć aplikację Spring Boot za pomocą Maven

    Ten proces obejmuje szereg kroków.

    Krok 1: Wybierz typ projektu.

    Krok 2: Nazwij swój projekt, aby go skonfigurować, a następnie kliknij przycisk Zakończ, aby utworzyć projekt.

    Krok 3: Teraz skonfigurujemy plik pom.xml z projektu Maven, aby utworzyć z niego projekt Spring Boot.

    plik pom.xml:

    <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.javatpoint</groupId>  
      <artifactId>spring-boot-example</artifactId>  
      <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name>  
    </project>  

    Konfiguracja obejmuje dodanie rodzica do projektu Maven. Spowoduje to zadeklarowanie projektu Maven jako projektu podrzędnego do projektu nadrzędnego.

    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>1.4.2.RELEASE</version>  
    </parent>  

    Krok 4: Następnie dodaj zależność webową spring-boot-starter-web do pliku pom.xml.

    <dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
    </dependencies>  

    Krok 5: Dodaj wersję Java projektu.

    <properties>  
        <java.version>1.8</java.version>  
    </properties> 

    Krok 6: Pamiętaj, że za każdym razem, gdy dodajesz nowe zależności, musisz zaktualizować projekt Maven.

    Krok 7: Spraw, aby projekt Maven mógł działać, tworząc klasę Java w pakiecie src/main/java.

    Krok 8: Następnie wywołaj metodę statycznego uruchamiania klasy aplikacji Spring.

    Krok 9: Na koniec uruchom klasę jako aplikację Java.

    Jakie są zalety Spring Boot nad Springiem?

    • Zdolność ładowania początkowego Spring Boot do kompilowania języka źródłowego za pomocą inicjatora rozruchu, techniki zwanej ładowaniem początkowym, pozwala zaoszczędzić miejsce na urządzeniach użytkowników, a także skraca czas ładowania aplikacji.
    • W przeciwieństwie do Spring, Spring Boot umożliwia zarządzanie zależnościami po dodaniu zależności spring-boot-bez zależności od nadrzędnego POM (nadrzędnego modelu obiektowego) lub pliku XML.
    • Spring Boot umożliwia również programistom używanie adnotacji lub konfiguracji XML bez konieczności używania konfiguracji XML.
    • Deweloperzy preferują Spring Boot ze względu na zmniejszony kod wzorcowy wymagany do skonfigurowania aplikacji. Dzieje się tak, ponieważ Spring Boot jest wyposażony w bazę danych w pamięci i wbudowany serwer Tomcat, co zmniejsza standardowy kod. Z drugiej strony wiosna ma więcej kodu standardowego.
    • Spring Boot niekoniecznie wymaga plików WAR (zasobów aplikacji internetowych) i może polegać tylko na JAR (zasobie Java), który ma małą i prostszą strukturę, a zatem jest bardziej przydatny dla użytkowników i programistów.
    • Spring Boot automatycznie osadza również serwery takie jak Tomcat i Jetty; w związku z tym programista nie musi ręcznie konfigurować serwera, tak jak powinieneś to zrobić wiosną.

    Proces stronicowania dzieli dane na sekcje, aby zaoszczędzić zasoby. Obejmuje dwa pola, rozmiar strony i numer strony.

    Proces składa się z kilku kroków, w tym:

    Krok 1: Wstępna konfiguracja
    Consisetupn encję nazwiemy Person jako klasę domeny.

    @Entity 
    public class Person {
        @Id
        private long id;
        private String name; 
    }

    Krok 2: Utworzenie repozytorium
    Następnie użyj PersonRepository rozszerza PagingAndSortingRepository, aby móc uzyskać metody findAll(Pageable pageable) i findAll(Sort sort) odpowiednio do stronicowania i sortowania.

    public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {
        List<Product> findAllByPrice(double price, Pageable pageable);
    }

    Krok 3: Krok stronicowania
    Pierwszym krokiem tutaj jest utworzenie obiektu PageRequest; przekazując numer strony i rozmiar strony zgodnie z żądaniem, które implementuje interfejs stronicowania.

    Pageable firstPageWithTwoElements = PageRequest.of(0,2);
    Pageable secondPageWithThreeElements = PageRequest.of(1,3);

    Następnie przekaż ten obiekt PageRequest do metody repozytorium jako parametr.

    Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements);
    List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements) 

    Domyślnie metoda findAll(Pageable stronicowalna) zwróci obiekt Page.

    Wyjaśnij, jak zarejestrować niestandardową automatyczną konfigurację

    W pliku @EnableAutoConfiguration klucz META-INF/spring.factories podaj w pełni kwalifikowaną nazwę. Ten krok rejestruje klasę automatycznej konfiguracji.

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

    Budowanie projektu za pomocą Mavena będzie wymagało umieszczenia pliku w katalogu resources/META-INF.

    Co to jest ładowanie początkowe w Spring Boot?

    Bootstrapping to proces wykonywania logiki w aplikacji Spring Boot podczas uruchamiania.
    Boot Initializr kompiluje język źródłowy w Spring Boot. Ten proces oszczędza miejsce na urządzeniu, a także skraca czas ładowania aplikacji.

    Ostatnie słowa 👨‍💻

    Cóż, w tym artykule omówiono niektóre pytania dotyczące Spring Boot, które ankieterzy prawdopodobnie zadają podczas rozmowy kwalifikacyjnej, oraz odpowiedzi, które pomogą ci pewnie go zaliczyć. Mamy nadzieję, że zdobędziesz tę wymarzoną pracę!

    Możesz także chcieć poznać kilka istotnych wskazówek z pytań zadawanych podczas wywiadu w Javie.

    Powodzenia!🙂