22 Ofte stilte Spring Boot-intervjuspørsmål og svar

Er du en Java Spring Boot-utvikler som ser frem til å klare et kommende intervju, men er ikke sikker på hvilke spørsmål du kan forvente? Vi er her for å hjelpe!

Denne artikkelen vil hjelpe deg med å forberede deg tilstrekkelig ved å skissere flere ofte stilte Spring Boot-intervjuspørsmål og svar som intervjuere kan bruke for å teste deg.

Intervjuer bruker strategiske Java Spring Boot-spørsmål for å teste intervjuobjektenes ferdighetsnivåer som er relevante for deres utpekte rolle. Derfor må du forberede deg med relevante spørsmål og vite hvordan du skal svare på dem.

Før du hopper rett til intervjuspørsmålene og deres tilsvarende svar, la oss dekke en grunnleggende oversikt over hva Spring Boot er og hvor nyttig det er for Java-utviklere.

Hva er Java Spring Boot?

Dette Java-rammeverket er opprettet av det sentrale teamet i 2014. Spring Boot, som er et åpen kildekode-rammeverk, utvikler effektivt applikasjoner som er uavhengige, i produksjonsgrad, og som også kan kjøre på en Java Virtual Machine (JVM).

Java-utviklere foretrekker det for utvikling av webapplikasjoner og mikrotjenester på grunn av dens raske og enkle oppsettsprosess og sikre konfigurasjonstid.

Det enkle oppsettet og konfigurasjonen av Spring-baserte applikasjoner fra Spring Boot er mulig med de tre kjernefunksjonene som inkluderer:

  • Autokonfigurasjon – som er en automatisk konfigurasjon av Spring-applikasjonen.
  • Spring Boot gir en meningsfull tilnærming til konfigurasjonsstandardene som skal brukes og pakkene som skal installeres for de nødvendige avhengighetene. Denne meningsfulle tilnærmingen hjelper til med det raske oppsettet av prosjektene.
  • Sprsetupoot lar deg kjøre applikasjonen din uavhengig uten behov for en webserver.

Hvordan er Spring Boot nyttig for Java-utviklere?

For det første har Java-utviklere som bruker Spring Boot det enklere med automatisk konfigurasjon av alle komponentene som kreves for å utvikle en Spring-applikasjon i produksjonsgrad. Dette reduserer i det lange løp utviklingstiden og øker til slutt effektiviteten deres.

Spring Boot integreres også enkelt med Springs økosystem, som inkluderer Spring JDBC, Spring Data, Spring Security og Spring ORM.

Java-utviklere kan også koble Spring Boot med forskjellige databaser som Oracle, MySQL, PostgreSQL og MongoDB, blant andre.

Selvfølgelig er fleksible konfigurasjoner med XML-konfigurasjoner, Java-bønner og databasetransaksjoner blant andre nyttige funksjoner.

Derfor, nå som du har en grunnleggende oversikt over Spring Boot, la oss vurdere noen av de ofte stilte Spring Boot-intervjuspørsmålene og svarene som vil hjelpe deg med å forberede deg til intervjuet.

Spring Boot Intervju Spørsmål og Svar

Hva er noen av funksjonene til Spring Boot?

Noen av disse populære funksjonene inkluderer:

  • Spring Boot CLI gir Groovy for å skrive Spring Boot-applikasjonen; i det lange løp unngås boilerplate-kode.
  • Spring Boot gir logging og en sikkerhetsfunksjon som enkelt sikrer applikasjonen din mot potensielle sikkerhetstrusler.
  • Den gir automatisk konfigurasjon av relevante komponenter for prosjektet ditt, og unngår dermed risikoen for unødvendige WAR-filer.
  • Startinitialisatoren fastsetter en standard intern prosjektstruktur for deg. På denne måten slipper du å sette opp prosjektstrukturen manuelt.
  • Spring Boot-aktuatorfunksjonen gir tilgang til innsikt og beregninger mens applikasjonen kjører.
  • Selvfølgelig hjelper en av de viktigste Spring Boot-funksjonene, Starter Dependency, med å samle en bestemt funksjons ofte brukte avhengigheter.
  Hvordan forbedrer SASE datasikkerheten? Hvorfor bør organisasjoner vedta det?

Hva er Spring Boot Starters?

Spring Boot-startere er avhengighetsbeskrivelser som inkluderer et sett med avhengighetsadministrasjonsleverandører som aktiverer applikasjonens avhengigheter. De gir rammeverket med Auto-Dependency Resolution. Startere forbedrer enkel og rask utvikling.

Hva er en aktuator i Spring Boot, og hva er dens fordeler?

Aktuatoren er en av Spring Boot-funksjonene som lar deg overvåke hva som skjer inne i en applikasjon mens den kjører.

Under feilsøking kan du for eksempel bruke aktuatoren til å analysere logger ved å gi tilgang til funksjoner som CPU-bruk og identifikasjon av bønner.

I tillegg gir aktuatoren ikke bare enkel tilgang til de produksjonsklare REST-endepunktene, som overvåker og administrerer informasjon, men også henter data fra nettet.

Hva er timianblad, og hvordan bruker du timianblad?

Thymeleaf er Javas serversidemal som skaper et naturlig maloppsett for både Spring- og HTML5 Java-webapplikasjoner.

Spring Boot vil utføre en automatisk konfigurasjon av thymeleaf ved å bruke spring-boot-starter-thymeleaf-avhengigheten i pom.xml-filen for å betjene det dynamiske webinnholdet.

For å la Spring Boot lese og gjengi thymeleaf-malene eller HTML-filene, plasser malene i src/main/resources/templates.

Thymeleaf analyserer deretter index.html-filen og bruker de faktiske verdiene du sender fra kontrollerklassen i stedet for de dynamiske verdiene som er tilgjengelige i indeksfilen.

Etter dette gjengis meldingen i nettleseren så snart Spring Boot-applikasjonen kjører.

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

Beskriv prosessen med å lage et Spring Boot-prosjekt ved hjelp av Spring Initializer.

Spring Initializr, som er et Spring-nettverktøy, lar deg lage et Spring Boot-prosjekt ved å bruke noen få trinn ved å oppgi detaljene om prosjektet.

  • Gå over til Spring intializr og fyll ut inndatafeltene.
  • Ved å klikke på Generer-knappen starter nedlastingen av prosjektet.
  • Pakk ut det nedlastede prosjektet fra zip-filen og åpne den fra din IDE. Fra IDE, naviger til Fil->Ny->Prosjekt fra eksisterende kilder->Spring-boot-app, og velg deretter pom.xml-filen. Klikk på forespørselen om import av endringer slik at prosjektet synkroniseres. Etter dette, husk å gå til application.properties-filen og redigere server.port-nummeret til server.port=7000.
  • Kjør nå programmet fra src->main->java->com.gfg.Spring.boot.app
  • Hva er JPA in Spring Boot?

    Dette er en spesifikasjon i Java som bruker Object-Relation Mapping (ORM) for å administrere relasjonsdata og gir tilgang til data mellom Java-objektet eller Java-klassen og applikasjonens relasjonsdatabase.

    JPA bruker Java Persistent Query Language (JPQL), et objektorientert spørrespråk som også er plattformuavhengig.

    JPA tillater spørringsbehandling og objekttransaksjoner mot databasen ved å bruke Entity Manager API den gir.

    Hva er automatisk konfigurasjon i Spring Boot?

    Auto-konfigurasjon søker å automatisere Spring Boot-applikasjonskonfigurasjonen ved å bruke jar-avhengighetene du legger til applikasjonene.

    Avhengig av de tilgjengelige avhengighetene i Classpath til applikasjonen, vil autokonfigurasjon deklarere den fjærspesifikke modulens innebygde objekter, inkludert JPA, og fjærsikkerhet, blant annet.

    Hva er vårkommentarer?

    Vårkommentarer refererer til metadata som tilbyr informasjon om et programutdrag, og de legger til tilleggsdata til det programmet. Kodekomponenter, inkludert klasser og metoder, er ofte forbundet med merknader.

    Merknader påvirker ikke direkte programmets drift eller den kompilerte kodens påfølgende handling.
    Syntaksen deres begynner med «@»-symbolet.

      Hvordan se videoer med raskere hastigheter

    Spring Boot gir seks hovedanmerkningstyper som inkluderer:

    • Vårens kjernemerknader
    • Vårdatamerknader
    • Vårbønnemerknader
    • Vårnettmerknader
    • Vårplanleggingsanmerkninger
    • Vårstøvelkommentarer

    Hva betyr Spring Data REST?

    Spring Data REST avslører ressursene i RESTful som er rundt Spring Data Resources ved å bruke minimalt med kode.

    Følgende eksempel bruker POST-metoden for å be om innhold med http://localhost/example som URL og Content-Type: application/json som Header.

    Be om innhold:

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

    Svarinnhold:

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

    Dette er et omfattende sett med forhåndsdefinerte verktøy hvis egenskaper brukes på de respektive utviklingsmiljøene for å gjøre utviklingen enklere og spare utviklingstid.

    Hver gang du endrer kode i Spring Boot-applikasjonen, starter Spring Boot DevTools-funksjonen automatisk på nytt. Derfor sparer det deg for bryet med å starte applikasjonen på nytt manuelt hver gang du endrer koden.

    Hva er Spring Data?

    Spring-data søker å gi utviklere enkel tilgang til datatilgangsteknologier som relasjonelle og ikke-relasjonelle data og skybaserte datatjenester, ettersom de fortsetter å inneholde det underliggende datalagerets spesielle egenskaper.

    Hvordan fortelle en auto-konfigurasjon å trekke seg tilbake når en bønne eksisterer?

    Her vil du bruke @ConditionalOnMissingBean-kommentaren, som inkluderer navn og verdi-attributtet som følger.

    • verdiattributt lagrer bønnetypen som skal sjekkes
    • name-attributt som navngir bønnen som skal sjekkes

    Hvordan henter jeg data fra databasen i Spring Boot?

    Vi kan få tilgang til data fra en MySQL-database til vår Spring Boot-applikasjon ved å bruke følgende trinn.

    Trinn 1: Bruk kommandoen create DATABASE person for å lage databasen i MySQL.

    Trinn 2: Lag en tabell i databasen:

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

    Trinn 3: Lag nå en Spring Boot-applikasjon, og legg deretter til JDBC, MySQL og de nødvendige nettavhengighetene.

    Trinn 4: Konfigurer databasen fra application.properties-filen som nedenfor.

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

    Trinn 5: La oss deretter håndtere forespørsler i kontrollerklassen:

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

    Til slutt, kjør programmet mens du sjekker databaseoppføringen for å se dataene du får tilgang til.

    Hvorfor trenger vi vårprofiler?

    Fjærprofiler tillater segregering av en applikasjons konfigurasjon av forskjellige deler og bruker dem for spesifikke utviklinger.

    Spring-profiler sparer også utvikleren for smerten med å administrere miljøspesifikke eksterne konfigurasjoner hvis Spring-profilene ikke var tilgjengelige.

    I tillegg vil dette gjøre det vanskelig å holde synkronisering og vil bety det ekstra behovet for å skrive flere fabrikklignende komponenter som vil benytte visse nødvendige ting avhengig av spesielle miljøspesifikke parametere.

    Kan vi endre porten til den innebygde Tomcat-serveren i Spring Boot?

    Ja vi kan.

    Dette gjøres ved å manipulere filen application.properties slik at den inkluderer server.port-egenskapen og tilordne den en port etter eget valg. Spring Boot laster automatisk applikasjonsegenskapsfilen og bruker de nødvendige konfigurasjonene til applikasjonen.

    Du kan for eksempel endre server.port-nummeret fra standardverdien 8080 til server.port= 8081.

    Hvordan konfigurerer du Log4j for logging?

    Med disse få enkle trinnene kan vi konfigurere Log4j for logging:

  • Først oppretter du Java-prosjektet ditt, og høyreklikker deretter prosjektet. Naviger til MyEclipse->Fil->Nytt->Java-prosjekt for å navngi prosjektet og klikk på Fullfør.
  • Deretter høyreklikker du Java-prosjektnavnet ditt og velger Bygg bane -> Konfigurer byggebane. Dette trinnet vil legge til log4j-filen.
  • Naviger til biblioteket og klikk på Add External JARS-knappen, og velg log4j-filen fra rullegardinmenyen som vises. Klikk deretter OK.
  • Opprett en ny java-fil du vil kalle log4j.properties-filen, klikk deretter på fullfør og legg til denne filen i Classpath.
  • Klikk på Avansert fra klassebanen, velg deretter alternativet Legg til mapper, og husk å klikke OK.
  • Du kan nå søke etter log4j.properties-filen, klikke OK og kjøre prosjektet.
  • Sjekk konsollen for utdata nedenfor.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Hva er en IoC-beholder?

    IoC (Inversion of Control)-beholderen er en kjerne-fjærbeholder som automatisk implementerer avhengighetsinjeksjon. Den instansierer klassens applikasjon og er ansvarlig for objektenes konfigurasjon og sammenstilling av nødvendige avhengigheter.

      10 beste verktøy for FLV til MP3-videokonvertering

    Den styrer også objektets livssyklus fra det instansieres til det blir ødelagt.

    IoC utfører disse oppgavene ved å bruke metadatakonfigurasjon i Java-kode, XML og Java-merknader.

    Beholderen blir referert til som en inversjon av kontroll fordi den kontrollerer Java-objektene og disse objektenes livssykluser. Dette er ellers en utvikleroppgave.

    Forklar hvordan du lager en Spring Boot-applikasjon ved hjelp av Maven

    Denne prosessen innebærer en rekke trinn.

    Trinn 1: Velg type prosjekt.

    Trinn 2: Gi prosjektet et navn for å konfigurere det, og klikk deretter på fullfør-knappen for å opprette prosjektet.

    Trinn 3: Nå vil vi konfigurere pom.xml-filen fra Maven-prosjektet for å lage et Spring Boot-prosjekt ut 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>  

    Konfigurasjonen innebærer tillegg av en forelder til Maven-prosjektet. Dette vil erklære Maven-prosjektet som et underprosjekt til overordnet prosjekt.

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

    Trinn 4: Deretter legger du til webavhengigheten, spring-boot-starter-web, til pom.xml.

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

    Trinn 5: Legg til prosjektets Java-versjon.

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

    Trinn 6: Merk at hver gang du legger til nye avhengigheter, må du oppdatere Maven-prosjektet.

    Trinn 7: Gjør Maven-prosjektet kjørbart ved å lage en Java-klasse i pakken src/main/java.

    Trinn 8: Deretter kaller du Spring Application’s class static run-metode.

    Trinn 9: Til slutt, kjør klassen som en Java-applikasjon.

    Hva er fordelene med Spring Boot fremfor Spring?

    • Spring Boots bootstrapping-evne for å kompilere kildespråket ved hjelp av Boot-initialiser, en teknikk som kalles bootstrapping, tillater plassbesparelse på brukernes enheter og reduserer også applikasjonens lastetid.
    • I motsetning til Spring, tillater Spring Boot avhengighetsadministrasjon etter å ha lagt til spring-boot-avhengighetene uten å være avhengig av overordnet POM (overordnet objektmodell) eller XML-fil.
    • Spring Boot lar også utviklere enten bruke merknader eller XML-konfigurasjoner uten å måtte bruke XML-konfigurasjoner.
    • Utviklere foretrekker Spring Boot på grunn av den reduserte standardkoden som kreves for å sette opp en applikasjon. Dette er fordi Spring Boot kommer med en database i minnet og en innebygd Tomcat-server, noe som reduserer kjelekoden. Spring, på den annen side, har mer boilerplate-kode.
    • Spring Boot krever ikke nødvendigvis WAR (web application resource) filer og kan kun stole på JAR (Java Resource), som har en liten og enklere struktur og derfor er mer nyttig for brukere og utviklere.
    • Spring Boot legger også automatisk inn servere som Tomcat og Jetty; Derfor trenger ikke utvikleren manuelt å sette opp serveren slik du skal gjøre om våren.

    Pagineringsprosessen deler data inn i seksjoner for å spare ressurser. Det innebærer to felt, sidestørrelsen og sidetallet.

    Prosessen omfatter noen få trinn, inkludert:

    Trinn 1: Innledende oppsett
    Konsertupn enhet vil vi navngi Person som domeneklassen.

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

    Trinn 2: Oppretting av arkiv
    Deretter bruker du en PersonRepository utvider PagingAndSortingRepository for å kunne få metodene findAll(Pageable pageable) og findAll(Sort sort) for henholdsvis personsøking og sortering.

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

    Trinn 3: Pagineringstrinn
    Det første trinnet her innebærer å lage et PageRequest-objekt; ved å sende sidenummeret og sidestørrelsen som forespurt som implementerer Pageable-grensesnittet.

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

    Send deretter dette PageRequest-objektet til repository-metoden som en parameter.

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

    Som standard vil findAll(Pageable pageable)-metoden returnere et Page-objekt.

    Forklar hvordan du registrerer en egendefinert automatisk konfigurasjon

    Under @EnableAutoConfiguration-nøkkelen META-INF/spring.factory-filen nevner du det fullstendige navnet. Dette trinnet registrerer autokonfigurasjonsklassen.

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

    Å bygge prosjektet ved å bruke Maven vil kreve at du plasserer filen i ressurs-/META-INF-katalogen.

    Hva er bootstrapping i Spring Boot?

    Bootstrapping er prosessen med å utføre logikk i Spring Boot-applikasjonen ved oppstart.
    Boot initializr kompilerer kildespråket i Spring Boot. Denne prosessen sparer plass på enheten og reduserer også applikasjonens lastetid.

    Siste ord 👨‍💻

    Vel, denne artikkelen dekket noen Spring Boot-spørsmål som intervjuere sannsynligvis vil stille deg under intervjuet, og svarene for å hjelpe deg med å klare det trygt. Vi håper du får den drømmejobben!

    Det kan også være lurt å lære noen få relevante tips fra spørsmål stilt under et Java-intervju.

    Lykke til!🙂