22 Frequently Asked Spring Boot Intervjufrågor och svar

Är du en Java Spring Boot-utvecklare som ser fram emot en kommande intervju men är inte säker på vilka frågor du kan förvänta dig? Vi är här för att hjälpa!

Den här artikeln hjälper dig att förbereda dig på ett adekvat sätt genom att beskriva flera vanliga frågor och svar på Spring Boot-intervjuer som intervjuare kan använda för att testa dig.

Intervjuare använder strategiska Java Spring Boot-frågor för att testa intervjupersonernas kompetensnivåer som är relevanta för deras utsedda roll. Därför måste du förbereda dig med relevanta frågor och veta hur du ska svara på dem.

Innan vi går direkt till intervjufrågorna och deras motsvarande svar, låt oss täcka en grundläggande översikt över vad Spring Boot är och hur användbart det är för Java-utvecklare.

Vad är Java Spring Boot?

Detta Java-ramverk skapades av det centrala teamet 2014. Spring Boot, som är ett ramverk med öppen källkod, utvecklar effektivt applikationer som är oberoende, produktionsklassade och kan även köras på en Java Virtual Machine (JVM).

Java-utvecklare föredrar det för webbapplikationer och utveckling av mikrotjänster för dess snabba och enkla installationsprocess och säkra konfigurationstid.

Den enkla installationen och konfigurationen av Spring-baserade applikationer från Spring Boot är möjliga med dess tre kärnfunktioner som inkluderar:

  • Autokonfiguration – som är en automatisk konfiguration av Spring-applikationen.
  • Spring Boot tillhandahåller ett tveksamt tillvägagångssätt för de konfigurationsstandarder som ska användas och paketen som ska installeras för de nödvändiga beroenden. Detta egensinniga tillvägagångssätt hjälper till att snabbt sätta upp projekten.
  • Sprsetupoot låter dig köra din applikation självständigt utan att behöva en webbserver.

Hur är Spring Boot till hjälp för Java-utvecklare?

För det första har Java-utvecklare som använder Spring Boot det enklare med automatisk konfiguration av alla komponenter som krävs för att utveckla en Spring-applikation i produktionsklass. Detta minskar i det långa loppet utvecklingstiden och ökar så småningom deras effektivitet.

Spring Boot integreras också enkelt med Springs ekosystem, som inkluderar Spring JDBC, Spring Data, Spring Security och Spring ORM.

Java-utvecklare kan också koppla Spring Boot med olika databaser som Oracle, MySQL, PostgreSQL och MongoDB, bland andra.

Naturligtvis är flexibla konfigurationer med XML-konfigurationer, Java Beans och databastransaktioner bland andra användbara funktioner.

Därför, nu när du har en grundläggande översikt över Spring Boot, låt oss överväga några av de ofta ställda Spring Boot-intervjufrågorna och svaren som hjälper dig att förbereda dig för din intervju.

Spring Boot Intervju Frågor och svar

Vilka är några funktioner hos Spring Boot?

Några av dessa populära funktioner inkluderar:

  • Spring Boot CLI tillhandahåller Groovy för att skriva Spring Boot-applikationen; på lång sikt undviks boilerplate-kod.
  • Spring Boot tillhandahåller loggning och en säkerhetsfunktion som enkelt skyddar din applikation från potentiella säkerhetshot.
  • Det ger automatisk konfiguration av relevanta komponenter för ditt projekt, och undviker därmed risken för onödiga WAR-filer.
  • Startinitialisatorn fastställer en standard intern projektstruktur för dig. På så sätt behöver du inte ställa in projektstrukturen manuellt.
  • Funktionen Spring Boot ställdon ger tillgång till insikter och mätvärden när applikationen körs.
  • Naturligtvis hjälper en av de viktigaste Spring Boot-funktionerna, Starter Dependency, till att aggregera en viss funktions ofta använda beroenden.

Vad är Spring Boot Starters?

Spring Boot-startare är beroendebeskrivningar som inkluderar en uppsättning beroendehanteringsleverantörer som möjliggör applikationens beroenden. De tillhandahåller ramverket med Auto-Dependency Resolution. Förrätter förbättrar enkel och snabb utveckling.

Vad är ett ställdon i Spring Boot, och vilka är dess fördelar?

Ställdonet är en av Spring Boot-funktionerna som låter dig övervaka vad som händer i en applikation när den körs.

Under felsökning kan du till exempel använda ställdonet för att analysera loggar genom att det ger tillgång till funktioner som CPU-användning och identifiering av bönor.

Dessutom ger ställdonet inte bara enkel åtkomst till de produktionsklara REST-slutpunkterna, som övervakar och hanterar information utan också hämtar data från webben.

Vad är timjan och hur man använder timjan?

Thymeleaf är Javas mall på serversidan som skapar en naturlig malllayout för både Spring och HTML5 Java-webbapplikationer.

Spring Boot kommer att utföra en automatisk konfiguration av thymeleaf med hjälp av spring-boot-starter-thymeleaf-beroendet i filen pom.xml för att tjäna det dynamiska webbinnehållet.

För att låta Spring Boot läsa och återge thymeleaf-mallarna eller HTML-filerna, placera mallarna i src/main/resources/templates.

Thymeleaf analyserar sedan filen index.html och använder de faktiska värdena du skickar från controllerklassen i stället för de dynamiska värdena som finns tillgängliga i indexfilen.

Efter detta återges meddelandet i webbläsaren så snart Spring Boot-applikationen körs.

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

Beskriv processen för att skapa ett Spring Boot-projekt med Spring Initializer.

Spring Initializr, som är ett Spring-webbverktyg, låter dig skapa ett Spring Boot-projekt med några få steg genom att tillhandahålla detaljerna om projektet.

  • Gå över till Spring intializr och fyll i inmatningsfälten.
  • Genom att klicka på knappen Generera startar projektnedladdningen.
  • Extrahera det nedladdade projektet från zip-filen och öppna den från din IDE. Från IDE:n, navigera till Arkiv->Nytt->Projekt från befintliga källor->Spring-boot-app, välj sedan filen pom.xml. Klicka på meddelandet om importändringar så att projektet synkroniseras. Efter detta, kom ihåg att gå till filen application.properties och redigera server.port-numret till server.port=7000.
  • Kör nu programmet från src->main->java->com.gfg.Spring.boot.app
  • Vad är JPA in Spring Boot?

    Detta är en specifikation i Java som använder Object-Relation Mapping (ORM) för att hantera relationsdata och ger tillgång till data mellan Java-objektet eller Java-klassen och applikationens relationsdatabas.

    JPA använder Java Persistent Query Language (JPQL), ett objektorienterat frågespråk som också är plattformsoberoende.

    JPA tillåter frågebearbetning och objekttransaktioner mot databasen med hjälp av Entity Manager API den tillhandahåller.

    Vad är automatisk konfiguration i Spring Boot?

    Auto-konfiguration strävar efter att automatisera Spring Boot-applikationskonfigurationen med hjälp av jar-beroenden du lägger till i applikationerna.

    Beroende på tillgängliga beroenden i applikationens Classpath, kommer automatisk konfiguration att deklarera den fjäderspecifika modulens inbyggda objekt, inklusive JPA, och fjädersäkerhet, bland annat.

    Vad är vårkommentarer?

    Vårannoteringar hänvisar till metadata som ger information om ett programutdrag, och de lägger till kompletterande data till det programmet. Kodkomponenter, inklusive klasser och metoder, associeras ofta med anteckningar.

    Anteckningar påverkar inte direkt programmets funktion eller den kompilerade kodens efterföljande åtgärd.
    Deras syntax börjar med ”@”-symbolen.

    Spring Boot tillhandahåller sex huvudanteckningstyper som inkluderar:

    • Spring Core Annotations
    • Vårdataanteckningar
    • Vårbönor anteckningar
    • Vårens webbanteckningar
    • Vårens schemaläggningskommentarer
    • Spring Boot Annotations

    Vad betyder Spring Data REST?

    Spring Data REST exponerar resurserna i RESTful som finns runt Spring Data Resources med minimal kod.

    Följande exempel använder POST-metoden för att begära innehåll med http://localhost/example som URL och Content-Type: application/json som Header.

    Begär innehåll:

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

    Svarsinnehåll:

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

    Dessa är en djup uppsättning fördefinierade verktyg vars egenskaper appliceras på respektive utvecklingsmiljö för att göra utvecklingen enklare och spara utvecklingstid.

    När du ändrar kod i Spring Boot-applikationen startar Spring Boot DevTools-funktionen automatiskt om. Därför sparar det dig besväret att manuellt starta om din applikation varje gång du ändrar din kod.

    Vad är Spring Data?

    Spring data syftar till att ge utvecklare enkel åtkomst till dataåtkomstteknologier som relationsdata och icke-relationella data och molnbaserade datatjänster eftersom de fortsätter att ha den underliggande datalagringens speciella egenskaper.

    Hur talar man om för en automatisk konfiguration att backa när en böna finns?

    Här kommer du att använda @ConditionalOnMissingBean-kommentaren, som inkluderar namn- och värdeattributet enligt följande.

    • värdeattribut lagrar böntypen som ska kontrolleras
    • namnattribut som namnger bönan som ska kontrolleras

    Hur hämtar man data från databasen i Spring Boot?

    Vi kan komma åt data från en MySQL-databas till vår Spring Boot-applikation genom att använda följande steg.

    Steg 1: Använd kommandot create DATABASE person för att skapa databasen i MySQL.

    Steg 2: Skapa en tabell i databasen:

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

    Steg 3: Skapa nu en Spring Boot-applikation och lägg sedan till JDBC, MySQL och de nödvändiga webbberoendena.

    Steg 4: Konfigurera databasen från filen application.properties enligt nedan.

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

    Steg 5: Låt oss sedan hantera förfrågningar i controllerklassen:

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

    Slutligen, kör din applikation medan du kontrollerar databasposten för att se vilka data som du kommer åt.

    Varför behöver vi vårprofiler?

    Spring Profiler tillåter åtskillnad av en applikations konfiguration av olika delar och använder dem för specifika utvecklingar.

    Spring Profiles besparar också utvecklaren smärtan att hantera miljöspecifika externa konfigurationer om Spring Profiles inte var tillgängliga.

    Dessutom skulle detta göra det svårt att hålla synkroniseringen och skulle innebära ett extra behov av att skriva flera fabriksliknande komponenter som skulle använda vissa nödvändiga saker beroende på särskilda miljöspecifika parametrar.

    Kan vi ändra porten för den inbäddade Tomcat-servern i Spring Boot?

    Ja det kan vi.

    Detta görs genom att manipulera filen application.properties så att den inkluderar server.port-egenskapen och tilldela den en valfri port. Spring Boot laddar automatiskt programmets egenskapsfil och tillämpar de nödvändiga konfigurationerna på programmet.

    Du kan till exempel ändra server.port-numret från standardvärdet 8080 till server.port= 8081.

    Hur konfigurerar du Log4j för loggning?

    Med dessa få enkla steg kan vi konfigurera Log4j för loggning:

  • Skapa först ditt Java-projekt och högerklicka sedan på projektet. Navigera till MyEclipse->Arkiv->Nytt->Java-projekt för att namnge projektet och klicka på Slutför.
  • Högerklicka sedan på ditt Java-projektnamn och välj Bygg sökväg -> Konfigurera byggväg. Detta steg kommer att lägga till log4j-filen.
  • Navigera till biblioteket och klicka på knappen Lägg till externa JARS och välj log4j-filen från rullgardinsmenyn som visas. Klicka sedan på OK.
  • Skapa en ny java-fil som du kommer att kalla log4j.properties-filen, klicka sedan på slutför och lägg till den här filen i Classpath.
  • Klicka på Avancerat från klasssökvägen, välj sedan alternativet Lägg till mappar och kom ihåg att klicka på OK.
  • Du kan nu söka efter filen log4j.properties, klicka på OK och köra projektet.
  • Kontrollera konsolen för utdata nedan.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Vad är en IoC-behållare?

    IoC (Inversion of Control)-behållaren är en kärn-fjäderbehållare som automatiskt implementerar beroendeinjektion. Den instansierar klassens applikation och ansvarar för objektens konfiguration och sammansättning av nödvändiga beroenden.

    Den hanterar också objektets livscykel från dess instansiering till dess förstörelse.

    IoC utför dessa uppgifter med hjälp av metadatakonfiguration i Java-kod, XML och Java-anteckningar.

    Behållaren hänvisas till som en Inversion of Control eftersom den styr Java-objekten och dessa objekts livscykler. Detta är annars en utvecklares uppgift.

    Förklara hur man skapar en Spring Boot-applikation med Maven

    Denna process innebär en rad steg.

    Steg 1: Välj typ av projekt.

    Steg 2: Namnge ditt projekt för att konfigurera det och klicka sedan på slutför-knappen för att skapa projektet.

    Steg 3: Nu kommer vi att konfigurera pom.xml-filen från Maven-projektet för att skapa ett Spring Boot-projekt av den.

    pom.xml fil:

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

    Konfigurationen innebär tillägg av en förälder till Maven-projektet. Detta kommer att deklarera Maven-projektet som ett underprojekt för det överordnade projektet.

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

    Steg 4: Lägg sedan till webbberoendet, spring-boot-starter-web, till pom.xml.

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

    Steg 5: Lägg till projektets Java-version.

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

    Steg 6: Observera att varje gång du lägger till nya beroenden måste du uppdatera Maven-projektet.

    Steg 7: Gör Maven-projektet körbart genom att skapa en Java-klass i paketet src/main/java.

    Steg 8: Anrop sedan Spring Applications klassstatiska körningsmetod.

    Steg 9: Kör slutligen klassen som en Java-applikation.

    Vilka är fördelarna med Spring Boot framför Spring?

    • Spring Boots bootstrapping-förmåga för att kompilera källspråket med hjälp av Boot-initieraren, en teknik som kallas bootstrapping, möjliggör utrymmesbesparing på användarnas enheter och minskar även applikationens laddningstid.
    • Till skillnad från Spring tillåter Spring Boot beroendehantering efter att ha lagt till spring-boot-beroenden utan att vara beroende av den överordnade POM (parent object model) eller XML-filen.
    • Spring Boot tillåter också utvecklare att antingen använda anteckningar eller XML-konfigurationer utan att behöva använda XML-konfigurationer.
    • Utvecklare föredrar Spring Boot för dess minskade standardkod som krävs för att konfigurera en applikation. Detta beror på att Spring Boot kommer med en databas i minnet och en inbäddad Tomcat-server, vilket minskar koden. Spring, å andra sidan, har mer boilerplate-kod.
    • Spring Boot kräver inte nödvändigtvis WAR-filer (web application resource) och kan bara förlita sig på JAR (Java Resource), som har en liten och enklare struktur och därför är mer användbar för användare och utvecklare.
    • Spring Boot bäddar också automatiskt in servrar som Tomcat och Jetty; därför behöver utvecklaren inte manuellt ställa in servern som du ska göra på våren.

    Pagineringsprocessen delar in data i sektioner för att spara resurser. Det omfattar två fält, sidstorleken och sidnumret.

    Processen omfattar några steg, inklusive:

    Steg 1: Inledande installation
    Sammanställt entitet kommer vi att namnge Person som domänklass.

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

    Steg 2: Skapande av arkiv
    Använd sedan ett PersonRepository utökar PagingAndSortingRepository för att kunna få metoderna findAll(Pageable pageable) och findAll(Sort sort) för sökning och sortering, respektive.

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

    Steg 3: Pagineringssteg
    Det första steget här innebär att skapa ett PageRequest-objekt; genom att skicka sidnumret och sidstorleken som efterfrågats som implementerar det Sidbara gränssnittet.

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

    Skicka sedan detta PageRequest-objekt till repository-metoden som en parameter.

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

    Som standard returnerar metoden findAll(Pageable pageable) ett Page-objekt.

    Förklara hur du registrerar en anpassad automatisk konfiguration

    Under @EnableAutoConfiguration-nyckeln META-INF/spring.factories-filen, nämn det fullständiga namnet. Detta steg registrerar autokonfigurationsklassen.

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

    Att bygga projektet med Maven kräver att du placerar filen i katalogen resurser/META-INF.

    Vad är bootstrapping i Spring Boot?

    Bootstrapping är processen för att exekvera logik i Spring Boot-applikationen vid uppstart.
    Boot initializr kompilerar källspråket i Spring Boot. Denna process sparar enhetens utrymme och minskar även applikationens laddningstid.

    Sista ord 👨‍💻

    Tja, den här artikeln täckte några Spring Boot-frågor som intervjuare förmodligen kommer att ställa dig under din intervju och svaren för att hjälpa dig att klara det med säkerhet. Vi hoppas att du får det där drömjobbet!

    Du kanske också vill lära dig några relevanta tips från frågor som ställs under en Java-intervju.

    Lycka till!🙂