22 Často kladené otázky a odpovědi v rozhovoru pro Spring Boot

Jste vývojář Java Spring Boot a těšíte se na nadcházející rozhovor, ale nejste si jisti, jaké otázky můžete očekávat? Jsme tu, abychom vám pomohli!

Tento článek vám pomůže dostatečně se připravit tím, že nastíní několik často kladených otázek a odpovědí na pohovor Spring Boot, které mohou tazatelé použít k otestování.

Tazatelé používají strategické Java Spring Boot otázky, aby otestovali úroveň dovedností dotazovaných relevantní pro jejich určenou roli. Proto je třeba se připravit na relevantní otázky a vědět, jak na ně odpovědět.

Než přejdeme přímo k otázkám rozhovoru a jejich odpovídajícím odpovědím, pokryjeme základní přehled toho, co je Spring Boot a jak užitečný je pro vývojáře v Javě.

Co je Java Spring Boot?

Tento rámec Java vytvořil stěžejní tým v roce 2014. Spring Boot, což je rámec s otevřeným zdrojovým kódem, efektivně vyvíjí aplikace, které jsou nezávislé, na produkční úrovni a mohou také běžet na Java Virtual Machine (JVM).

Vývojáři Java jej preferují pro vývoj webových aplikací a mikroslužeb pro jeho rychlý a snadný proces nastavení a bezpečnou dobu konfigurace.

Snadné nastavení a konfigurace aplikací založených na Springu Spring Boot jsou možné díky třem základním funkcím, které zahrnují:

  • Autoconfiguration – což je automatická konfigurace aplikace Spring.
  • Spring Boot poskytuje názorový přístup k výchozím nastavením konfigurace, které se mají použít, ak balíčkům, které se mají nainstalovat pro požadované závislosti. Tento názorový přístup pomáhá při rychlém nastavení projektů.
  • Sprsetupoot vám umožní nezávisle spouštět vaši aplikaci bez potřeby webového serveru.

Jak je Spring Boot užitečný vývojářům Java?

Za prvé, vývojáři Java používající Spring Boot to mají snazší díky automatické konfiguraci všech komponent potřebných k vývoji produkční Spring aplikace. To z dlouhodobého hlediska zkracuje dobu vývoje a nakonec zvyšuje jejich efektivitu.

Spring Boot se také snadno integruje s ekosystémem Spring, který zahrnuje Spring JDBC, Spring Data, Spring Security a Spring ORM.

Vývojáři Java mohou také propojit Spring Boot s různými databázemi, jako jsou mimo jiné Oracle, MySQL, PostgreSQL a MongoDB.

Mezi další užitečné funkce patří samozřejmě flexibilní konfigurace s konfiguracemi XML, Java Beans a databázovými transakcemi.

Nyní, když máte základní přehled o Spring Boot, dovolte nám zvážit některé z často kladených otázek a odpovědí na pohovor Spring Boot, které vám pomohou připravit se na pohovor.

Otázky a odpovědi na pohovor Spring Boot

Jaké jsou některé funkce Spring Boot?

Některé z těchto oblíbených funkcí zahrnují:

  • Spring Boot CLI poskytuje Groovy pro psaní aplikace Spring Boot; z dlouhodobého hlediska se vyhneme standardnímu kódu.
  • Spring Boot poskytuje protokolování a bezpečnostní funkci, která snadno ochrání vaši aplikaci před potenciálními bezpečnostními hrozbami.
  • Poskytuje automatickou konfiguraci příslušných komponent pro váš projekt, čímž se vyhnete riziku zbytečných souborů WAR.
  • Starter Initializer pro vás stanoví výchozí vnitřní strukturu projektu. Tímto způsobem nemusíte ručně nastavovat strukturu projektu.
  • Funkce ovladače Spring Boot poskytuje přístup k přehledům a metrikám během běhu aplikace.
  • Jedna z klíčových funkcí Spring Boot, Starter Dependency, samozřejmě pomáhá agregovat běžně používané závislosti konkrétní funkce.
  Jak sledovat hashtag na Twitteru

Co jsou Spring Boot Starters?

Spouštěče Spring Boot jsou deskriptory závislostí, které zahrnují sadu poskytovatelů správy závislostí, kteří umožňují závislosti aplikace. Poskytují rámec s Auto-Dependency Resolution. Startéry umožňují snadný a rychlý vývoj.

Co je aktuátor v Spring Boot a jaké jsou jeho výhody?

Akční člen je jednou z funkcí Spring Boot, která vám umožňuje sledovat, co se děje uvnitř aplikace během jejího běhu.

Například během ladění můžete aktuátor použít k analýze protokolů, které umožňují přístup k funkcím, jako je využití procesoru a identifikace fazolí.

Pohon navíc poskytuje nejen snadný přístup ke koncovým bodům REST připraveným pro výrobu, které monitorují a spravují informace, ale také získává data z webu.

Co je tymián a jak se používá?

Thymeleaf je šablona Java na straně serveru, která vytváří přirozené rozložení šablon pro webové aplikace Spring i HTML5 Java.

Spring Boot provede automatickou konfiguraci thymeleaf pomocí závislosti spring-boot-starter-thymeleaf v souboru pom.xml pro poskytování dynamického webového obsahu.

Aby Spring Boot mohl číst a vykreslovat šablony thymeleaf nebo soubory HTML, umístěte šablony do src/main/resources/templates.

Thymeleaf poté analyzuje soubor index.html a místo dynamických hodnot dostupných v indexovém souboru použije skutečné hodnoty, které předáte z třídy kontroleru.

Poté se zpráva vykreslí ve webovém prohlížeči, jakmile se spustí aplikace Spring Boot.

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

Popište proces vytváření projektu Spring Boot pomocí Spring Initializer.

Spring Initializr, což je webový nástroj Spring, umožňuje vytvořit projekt Spring Boot pomocí několika kroků poskytnutím podrobností o projektu.

  • Přejděte na Spring intializr a vyplňte vstupní pole.
  • Kliknutím na tlačítko Generovat zahájíte stahování projektu.
  • Extrahujte stažený projekt ze souboru zip a otevřete jej z vašeho IDE. V IDE přejděte na Soubor->Nový->Projekt ze stávajících zdrojů->Spring-boot-app a poté vyberte soubor pom.xml. Klikněte na výzvu k importu změn, aby se projekt synchronizoval. Poté nezapomeňte přejít do souboru application.properties a upravit číslo server.port na server.port=7000.
  • Nyní spusťte aplikaci z src->main->java->com.gfg.Spring.boot.app
  • Co je JPA v Spring Boot?

    Toto je specifikace v Javě, která používá Object-Relation Mapping (ORM) ke správě relačních dat a umožňuje přístup k datům mezi objektem Java nebo třídou Java a relační databází aplikace.

    JPA používá jazyk Java Persistent Query Language (JPQL), objektově orientovaný dotazovací jazyk, který je také nezávislý na platformě.

    JPA umožňuje zpracování dotazů a transakcí objektů proti databázi pomocí Entity Manager API, které poskytuje.

    Co je automatická konfigurace ve Spring Boot?

    Automatická konfigurace se snaží automatizovat konfiguraci aplikace Spring Boot pomocí závislostí jar, které přidáte do aplikací.

    V závislosti na dostupných závislostech v Classpath aplikace bude automatická konfigurace deklarovat mimo jiné vestavěné objekty modulu specifického pro pružiny, včetně JPA, a zabezpečení pružin.

    Co jsou jarní anotace?

    Jarní anotace odkazují na metadata nabízející informace o fragmentu programu a přidávají do tohoto programu doplňková data. Komponenty kódu, včetně tříd a metod, jsou často spojeny s anotacemi.

    Anotace přímo neovlivňují činnost programu ani následnou akci zkompilovaného kódu.
    Jejich syntaxe začíná symbolem ‚@‘.

    Spring Boot poskytuje šest hlavních typů anotací, které zahrnují:

    • Jarní základní anotace
    • Jarní anotace dat
    • Jarní poznámky o fazolích
    • Jarní webové anotace
    • Jarní poznámky k plánování
    • Spring Boot Anotace
      9 nejlepších systémů řízení výuky (LMS) pro malé a střední podniky

    Co znamená Spring Data REST?

    Spring Data REST zpřístupňuje prostředky v RESTful, které jsou kolem Spring Data Resources, pomocí minimálního kódu.

    Následující příklad používá metodu POST k vyžádání obsahu pomocí http://localhost/example jako URL a Content-Type: application/json jako záhlaví.

    Obsah požadavku:

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

    Obsah odpovědi:

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

    Jedná se o hlubokou sadu předdefinovaných nástrojů, jejichž vlastnosti jsou aplikovány na příslušná vývojová prostředí, aby usnadnily vývoj a šetřily čas vývoje.

    Kdykoli změníte kód v aplikaci Spring Boot, funkce Spring Boot DevTools se automaticky restartuje. Proto vám ušetří potíže s ručním restartováním aplikace pokaždé, když změníte kód.

    Co je Spring Data?

    Spring data se snaží poskytnout vývojářům snadný přístup k technologiím přístupu k datům, jako jsou relační a nerelační data a cloudové datové služby, protože si i nadále uchovávají speciální vlastnosti základního úložiště dat.

    Jak říct automatické konfiguraci, aby ustoupila, když existuje fazole?

    Zde budete používat anotaci @ConditionalOnMissingBean, která obsahuje následující atribut name a value.

    • atribut value ukládá typ fazole ke kontrole
    • atribut name, který pojmenuje fazole ke kontrole

    Jak načíst data z databáze ve Spring Bootu?

    Pomocí následujících kroků můžeme přistupovat k datům z databáze MySQL do naší aplikace Spring Boot.

    Krok 1: Pomocí příkazu create DATABASE person vytvořte databázi v MySQL.

    Krok 2: V databázi vytvořte tabulku:

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

    Krok 3: Nyní vytvořte aplikaci Spring Boot a poté do ní přidejte JDBC, MySQL a požadované webové závislosti.

    Krok 4: Nakonfigurujte databázi ze souboru application.properties, jak je uvedeno níže.

    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: Dále zpracujme požadavky ve třídě řadiče:

    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";
       }
    }

    Nakonec spusťte aplikaci při kontrole položky databáze, abyste viděli data, ke kterým jste přistupovali.

    Proč potřebujeme jarní profily?

    Pružinové profily umožňují oddělit konfiguraci aplikace na různé části a využít je pro konkrétní vývoj.

    Spring Profiles také šetří vývojářům námahu při správě externích konfigurací specifických pro prostředí, pokud nebyly Spring Profiles dostupné.

    Navíc by to ztěžovalo udržování synchronizace a znamenalo by to další potřebu napsat několik komponent podobných továrně, které by využívaly určité požadované věci v závislosti na konkrétních parametrech specifických pro prostředí.

    Můžeme změnit port vestavěného serveru Tomcat ve Spring bootu?

    Ano, můžeme.

    To se provádí manipulací se souborem application.properties tak, aby zahrnoval vlastnost server.port a přiřazením portu dle vašeho výběru. Spring Boot automaticky načte soubor vlastností aplikace a aplikuje na aplikaci požadované konfigurace.

    Můžete například změnit číslo server.port z výchozí hodnoty 8080 na server.port= 8081.

    Jak nakonfigurujete Log4j pro protokolování?

    Pomocí těchto několika jednoduchých kroků můžeme nakonfigurovat Log4j pro protokolování:

  • Nejprve vytvořte projekt Java a poté klikněte pravým tlačítkem na projekt. Přejděte na MyEclipse->File->New->Java Project, pojmenujte projekt a klikněte na tlačítko Dokončit.
  • Dále klikněte pravým tlačítkem na název projektu Java a vyberte Sestavit cestu -> Konfigurovat cestu sestavení. Tento krok přidá soubor log4j.
  • Přejděte do knihovny a klikněte na tlačítko Přidat externí JARS a z rozbalovací nabídky, která se zobrazí, vyberte soubor log4j. Potom klepněte na tlačítko OK.
  • Vytvořte nový java soubor, který nazvete soubor log4j.properties, poté klikněte na tlačítko Dokončit a přidejte tento soubor do třídy Classpath.
  • Klikněte na Upřesnit v Cestě třídy, poté vyberte možnost Přidat složky a nezapomeňte kliknout na OK.
  • Nyní můžete vyhledat soubor log4j.properties, kliknout na OK a spustit projekt.
  • Zkontrolujte konzolu pro výstup níže.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Co je to IoC kontejner?

    Kontejner IoC (Inversion of Control) je základní kontejner Spring, který automaticky implementuje vkládání závislostí. Vytváří instanci aplikace třídy a je zodpovědný za konfiguraci objektů a sestavení nezbytných závislostí.

      Porozumění půjčování a půjčování kryptoměn pro začátečníky

    Řídí také životní cyklus objektu od jeho vytvoření po jeho zničení.

    IoC provádí tyto úkoly pomocí konfigurace metadat v kódu Java, XML a anotacích Java.

    Kontejner je označován jako Inversion of Control, protože řídí objekty Java a životní cykly těchto objektů. To je jinak úkol vývojáře.

    Vysvětlete, jak vytvořit aplikaci Spring Boot pomocí Maven

    Tento proces zahrnuje řadu kroků.

    Krok 1: Vyberte typ projektu.

    Krok 2: Pojmenujte svůj projekt a nakonfigurujte jej a poté kliknutím na tlačítko Dokončit projekt vytvořte.

    Krok 3: Nyní nakonfigurujeme soubor pom.xml z projektu Maven, abychom z něj vytvořili projekt Spring Boot.

    soubor 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>  

    Konfigurace zahrnuje přidání rodiče do projektu Maven. Tím bude projekt Maven deklarován jako podřízený projekt nadřazenému projektu.

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

    Krok 4: Dále přidejte webovou závislost spring-boot-starter-web do souboru pom.xml.

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

    Krok 5: Přidejte verzi Java projektu.

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

    Krok 6: Všimněte si, že pokaždé, když přidáte nové závislosti, musíte aktualizovat projekt Maven.

    Krok 7: Umožněte spustit projekt Maven vytvořením třídy Java v balíčku src/main/java.

    Krok 8: Dále zavolejte metodu statického spuštění třídy Spring Application.

    Krok 9: Nakonec spusťte třídu jako Java aplikaci.

    Jaké jsou výhody Spring Boot oproti Spring?

    • Schopnost zavádění systému Spring Boot kompilovat zdrojový jazyk pomocí inicializátoru spouštění, což je technika zvaná bootstrapping, umožňuje šetřit místo na zařízeních uživatelů a také zkracuje dobu načítání aplikace.
    • Na rozdíl od Spring umožňuje Spring Boot správu závislostí po přidání závislostí spring-boot bez závislosti na nadřazeném POM (rodičovský objektový model) nebo souboru XML.
    • Spring Boot také umožňuje vývojářům používat anotace nebo konfigurace XML bez nutnosti používat konfigurace XML.
    • Vývojáři preferují Spring Boot pro jeho snížený standardní kód potřebný k nastavení aplikace. Je to proto, že Spring Boot je dodáván s databází v paměti a vestavěným serverem Tomcat, což snižuje standardní kód. Jaro má na druhou stranu více standardní kód.
    • Spring Boot nutně nevyžaduje soubory WAR (zdroj webové aplikace) a může se spolehnout pouze na JAR (zdroj Java), který má malou a jednodušší strukturu, a proto je pro uživatele a vývojáře užitečnější.
    • Spring Boot také automaticky vkládá servery jako Tomcat a Jetty; proto vývojář nemusí ručně nastavovat server, jako byste měli dělat na jaře.

    Proces stránkování rozděluje data do sekcí, aby se ušetřily zdroje. Obsahuje dvě pole, velikost stránky a číslo stránky.

    Proces zahrnuje několik kroků, včetně:

    Krok 1: Počáteční nastavení
    Consesetupn entity budeme jmenovat Person jako doménovou třídu.

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

    Krok 2: Vytvoření úložiště
    Dále, použití PersonRepository rozšiřuje PagingAndSortingRepository, aby bylo možné získat metody findAll(Pageable pageable) a findAll(Sort sort) pro stránkování a řazení.

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

    Krok 3: Krok stránkování
    První krok zde zahrnuje vytvoření objektu PageRequest; předáním čísla stránky a požadované velikosti stránky, která implementuje rozhraní Stránkovatelné.

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

    Poté předejte tento objekt PageRequest metodě úložiště jako parametr.

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

    Ve výchozím nastavení metoda findAll(Pageable pageable) vrátí objekt Page.

    Vysvětlete, jak zaregistrovat vlastní automatickou konfiguraci

    V souboru @EnableAutoConfiguration key META-INF/spring.factories uveďte plně kvalifikovaný název. Tento krok zaregistruje třídu automatické konfigurace.

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

    Vytvoření projektu pomocí Maven bude vyžadovat umístění souboru do adresáře resources/META-INF.

    Co je bootstrapping v Spring Boot?

    Bootstrapping je proces spouštění logiky v aplikaci Spring Boot při spuštění.
    Boot initializr zkompiluje zdrojový jazyk v Spring Boot. Tento proces šetří místo na zařízení a také zkracuje dobu načítání aplikace.

    Slova na závěr 👨‍💻

    No, tento článek se zabývá některými otázkami Spring Boot, které se vás tazatelé pravděpodobně zeptají během vašeho pohovoru, a odpověďmi, které vám pomohou s jistotou zvládnout. Doufáme, že získáte práci snů!

    Možná se také budete chtít dozvědět několik relevantních tipů z otázek položených během pohovoru v jazyce Java.

    Hodně štěstí! 🙂