22 Häufig gestellte Fragen und Antworten zu Spring-Boot-Interviews

Sind Sie ein Java Spring Boot-Entwickler und freuen sich auf ein bevorstehendes Vorstellungsgespräch, sind sich aber nicht sicher, welche Fragen Sie erwarten? Wir sind hier um zu helfen!

Dieser Artikel hilft Ihnen bei der angemessenen Vorbereitung, indem er einige häufig gestellte Fragen und Antworten zu Spring Boot-Interviews skizziert, die Interviewer verwenden können, um Sie zu testen.

Interviewer verwenden strategische Java-Spring-Boot-Fragen, um die Fähigkeiten der Befragten zu testen, die für ihre jeweilige Rolle relevant sind. Daher müssen Sie sich mit relevanten Fragen vorbereiten und wissen, wie man sie beantwortet.

Bevor wir direkt zu den Interviewfragen und den entsprechenden Antworten springen, lassen Sie uns einen grundlegenden Überblick darüber geben, was Spring Boot ist und wie hilfreich es für Java-Entwickler ist.

Was ist Java Spring Boot?

Dieses Java-Framework wurde 2014 vom Pivotal-Team entwickelt. Spring Boot, ein Open-Source-Framework, entwickelt effizient Anwendungen, die unabhängig und produktionstauglich sind und auch auf einer Java Virtual Machine (JVM) ausgeführt werden können.

Java-Entwickler bevorzugen es für die Entwicklung von Webanwendungen und Microservices wegen seines schnellen und einfachen Einrichtungsprozesses und seiner sicheren Konfigurationszeit.

Die einfache Einrichtung und Konfiguration der Spring-basierten Anwendungen von Spring Boot ist mit seinen drei Kernfunktionen möglich, darunter:

  • Autokonfiguration – Dies ist eine automatische Konfiguration der Spring-Anwendung.
  • Spring Boot bietet einen eigenwilligen Ansatz für die zu verwendenden Konfigurationsstandards und die zu installierenden Pakete für die erforderlichen Abhängigkeiten. Dieser eigensinnige Ansatz hilft bei der schnellen Einrichtung der Projekte.
  • Mit Sprsetupoot können Sie Ihre Anwendung unabhängig ausführen, ohne dass ein Webserver erforderlich ist.

Wie hilfreich ist Spring Boot für Java-Entwickler?

Zum einen haben es Java-Entwickler, die Spring Boot verwenden, einfacher mit der automatischen Konfiguration aller Komponenten, die für die Entwicklung einer produktionstauglichen Spring-Anwendung erforderlich sind. Das verkürzt langfristig die Entwicklungszeit und steigert schließlich deren Effizienz.

Spring Boot lässt sich auch problemlos in das Spring-Ökosystem integrieren, das Spring JDBC, Spring Data, Spring Security und Spring ORM umfasst.

Java-Entwickler können Spring Boot unter anderem auch mit verschiedenen Datenbanken wie Oracle, MySQL, PostgreSQL und MongoDB verbinden.

Natürlich gehören flexible Konfigurationen mit XML-Konfigurationen, Java Beans und Datenbanktransaktionen zu den weiteren nützlichen Funktionen.

Nachdem Sie nun einen grundlegenden Überblick über Spring Boot haben, wollen wir uns daher einige der häufig gestellten Fragen und Antworten zu Spring Boot-Interviews ansehen, die Ihnen bei der Vorbereitung auf Ihr Vorstellungsgespräch helfen werden.

Fragen und Antworten zum Spring Boot-Interview

Was sind einige Funktionen von Spring Boot?

Einige dieser beliebten Funktionen sind:

  • Die Spring Boot CLI bietet Groovy zum Schreiben der Spring Boot-Anwendung; Langfristig wird Boilerplate-Code vermieden.
  • Spring Boot bietet Protokollierung und eine Sicherheitsfunktion, die Ihre Anwendung einfach vor potenziellen Sicherheitsbedrohungen schützt.
  • Es bietet eine automatische Konfiguration relevanter Komponenten für Ihr Projekt und vermeidet so das Risiko unnötiger WAR-Dateien.
  • Der Starter-Initialisierer legt eine standardmäßige interne Projektstruktur für Sie fest. Auf diese Weise müssen Sie die Projektstruktur nicht manuell einrichten.
  • Die Spring Boot-Aktuatorfunktion bietet Zugriff auf Erkenntnisse und Metriken, während die Anwendung ausgeführt wird.
  • Natürlich hilft eines der wichtigsten Spring Boot-Features, Starter Dependency, dabei, die häufig verwendeten Abhängigkeiten eines bestimmten Features zusammenzufassen.

Was sind Spring Boot Starter?

Spring Boot-Starter sind Abhängigkeitsdeskriptoren, die eine Reihe von Abhängigkeitsverwaltungsanbietern enthalten, die die Abhängigkeiten der Anwendung ermöglichen. Sie stellen das Framework mit Auto-Dependency Resolution bereit. Starter verbessern die einfache und schnelle Entwicklung.

Was ist ein Aktuator in Spring Boot und was sind seine Vorteile?

Der Aktuator ist eine der Spring Boot-Funktionen, mit der Sie überwachen können, was in einer Anwendung passiert, während sie ausgeführt wird.

Während des Debuggens können Sie den Aktuator beispielsweise zum Analysieren von Protokollen verwenden, indem Sie den Zugriff auf Funktionen wie die CPU-Auslastung und die Identifizierung von Beans ermöglichen.

Darüber hinaus bietet der Aktuator nicht nur einfachen Zugriff auf die produktionsbereiten REST-Endpunkte, die Informationen überwachen und verwalten, sondern ruft auch Daten aus dem Internet ab.

Was ist Thymeleaf und wie verwendet man Thymeleaf?

Thymeleaf ist die serverseitige Vorlage von Java, die ein natürliches Vorlagenlayout für Spring- und HTML5-Java-Webanwendungen erstellt.

Spring Boot führt eine automatische Konfiguration von thymeleaf unter Verwendung der spring-boot-starter-thymeleaf-Abhängigkeit in der Datei pom.xml durch, um den dynamischen Webinhalt bereitzustellen.

Damit Spring Boot die Thymeleaf-Vorlagen oder HTML-Dateien lesen und rendern kann, platzieren Sie die Vorlagen in src/main/resources/templates.

Thymeleaf analysiert dann die Datei index.html und verwendet die tatsächlichen Werte, die Sie von der Controller-Klasse übergeben, anstelle der in der Indexdatei verfügbaren dynamischen Werte.

Danach wird die Nachricht im Webbrowser gerendert, sobald die Spring Boot-Anwendung ausgeführt wird.

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

Beschreiben des Prozesses zum Erstellen eines Spring Boot-Projekts mit Spring Initializer.

Mit Spring Initializr, einem Spring-Webtool, können Sie in wenigen Schritten ein Spring Boot-Projekt erstellen, indem Sie die Details des Projekts angeben.

  • Gehen Sie zu Spring initializr und füllen Sie die Eingabefelder aus.
  • Durch Klicken auf die Schaltfläche Generieren wird der Download des Projekts gestartet.
  • Extrahieren Sie das heruntergeladene Projekt aus der ZIP-Datei und öffnen Sie es in Ihrer IDE. Navigieren Sie in der IDE zu Datei->Neu->Projekt aus vorhandenen Quellen->Spring-Boot-App und wählen Sie dann die Datei pom.xml aus. Klicken Sie auf die Eingabeaufforderung zum Importieren von Änderungen, damit das Projekt synchronisiert wird. Denken Sie danach daran, zur Datei application.properties zu gehen und die server.port-Nummer auf server.port=7000 zu ändern.
  • Führen Sie nun die Anwendung von src->main->java->com.gfg.Spring.boot.app aus
  • Was ist JPA in Spring Boot?

    Dies ist eine Spezifikation in Java, die Object-Relation Mapping (ORM) verwendet, um relationale Daten zu verwalten und den Zugriff auf Daten zwischen dem Java-Objekt oder der Java-Klasse und der relationalen Datenbank der Anwendung zu ermöglichen.

    JPA verwendet die Java Persistent Query Language (JPQL), eine objektorientierte Abfragesprache, die auch plattformunabhängig ist.

    JPA ermöglicht die Abfrageverarbeitung und Objekttransaktionen für die Datenbank mithilfe der bereitgestellten Entity Manager-API.

    Was ist die automatische Konfiguration in Spring Boot?

    Die automatische Konfiguration versucht, die Konfiguration der Spring Boot-Anwendung mithilfe der JAR-Abhängigkeiten zu automatisieren, die Sie den Anwendungen hinzufügen.

    Abhängig von den verfügbaren Abhängigkeiten im Klassenpfad der Anwendung deklariert die automatische Konfiguration die eingebauten Objekte des springspezifischen Moduls, einschließlich JPA und Spring Security, unter anderem.

    Was sind Frühlingsanmerkungen?

    Spring-Anmerkungen beziehen sich auf Metadaten, die Informationen zu einem Programmausschnitt bieten, und sie fügen diesem Programm zusätzliche Daten hinzu. Codekomponenten, einschließlich Klassen und Methoden, sind häufig mit Annotationen verknüpft.

    Anmerkungen wirken sich nicht direkt auf den Betrieb des Programms oder die nachfolgende Aktion des kompilierten Codes aus.
    Ihre Syntax beginnt mit dem ‚@‘-Symbol.

    Spring Boot bietet sechs Haupttypen von Anmerkungen, darunter:

    • Spring Core Anmerkungen
    • Anmerkungen zu Frühlingsdaten
    • Spring Bean Anmerkungen
    • Spring Web-Anmerkungen
    • Anmerkungen zur Frühjahrsplanung
    • Spring Boot-Anmerkungen

    Was bedeutet Spring Data REST?

    Spring Data REST macht die Ressourcen in RESTful, die sich um Spring Data Resources herum befinden, mit minimalem Code verfügbar.

    Das folgende Beispiel verwendet die POST-Methode zum Anfordern von Inhalten unter Verwendung von https://localhost/example als URL und Content-Type: application/json als Header.

    Anforderungsinhalt:

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

    Inhalt der Antwort:

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

    Dabei handelt es sich um einen umfassenden Satz vordefinierter Werkzeuge, deren Eigenschaften auf die jeweiligen Entwicklungsumgebungen angewendet werden, um die Entwicklung zu vereinfachen und Entwicklungszeit zu sparen.

    Immer wenn Sie Code in der Spring Boot-Anwendung ändern, wird die Spring Boot DevTools-Funktion automatisch neu gestartet. Daher erspart es Ihnen die Mühe, Ihre Anwendung jedes Mal manuell neu zu starten, wenn Sie Ihren Code ändern.

    Was sind Spring Data?

    Spring Data soll Entwicklern einen einfachen Zugang zu Datenzugriffstechnologien wie relationalen und nicht relationalen Daten und Cloud-basierten Datendiensten ermöglichen, da es weiterhin die besonderen Merkmale des zugrunde liegenden Datenspeichers beibehält.

    Wie kann man einer Autokonfiguration mitteilen, sich zurückzuziehen, wenn eine Bean vorhanden ist?

    Hier verwenden Sie die Annotation @ConditionalOnMissingBean, die das Attribut name und value wie folgt enthält.

    • value-Attribut speichert den zu prüfenden Bean-Typ
    • name-Attribut, das die zu prüfende Bean benennt

    Wie rufe ich Daten aus der Datenbank in Spring Boot ab?

    Mit den folgenden Schritten können wir auf Daten aus einer MySQL-Datenbank in unsere Spring Boot-Anwendung zugreifen.

    Schritt 1: Verwenden Sie den Personenbefehl create DATABASE, um die Datenbank in MySQL zu erstellen.

    Schritt 2: Erstellen Sie in der Datenbank eine Tabelle:

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

    Schritt 3: Erstellen Sie nun eine Spring Boot-Anwendung und fügen Sie JDBC, MySQL und die erforderlichen Webabhängigkeiten hinzu.

    Schritt 4: Konfigurieren Sie die Datenbank aus der Datei application.properties wie unten.

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

    Schritt 5: Als nächstes behandeln wir Anfragen in der Controller-Klasse:

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

    Führen Sie schließlich Ihre Anwendung aus, während Sie den Datenbankeintrag überprüfen, um die Daten anzuzeigen, auf die zugegriffen wird.

    Warum brauchen wir Federprofile?

    Federprofile ermöglichen die Trennung der Konfiguration einer Anwendung von verschiedenen Teilen und nutzen sie für spezifische Entwicklungen.

    Spring Profiles erspart dem Entwickler auch die Mühe, umgebungsspezifische externe Konfigurationen zu verwalten, wenn die Spring Profiles nicht verfügbar wären.

    Darüber hinaus würde dies die Synchronisierung erschweren und die zusätzliche Notwendigkeit bedeuten, mehrere fabrikähnliche Komponenten zu schreiben, die bestimmte erforderliche Dinge in Abhängigkeit von bestimmten umgebungsspezifischen Parametern nutzen würden.

    Können wir den Port des eingebetteten Tomcat-Servers in Spring Boot ändern?

    Ja wir können.

    Dazu bearbeiten Sie die Datei application.properties so, dass sie die Eigenschaft server.port enthält, und weisen ihr einen Port Ihrer Wahl zu. Spring Boot lädt automatisch die Anwendungseigenschaftendatei und wendet die erforderlichen Konfigurationen auf die Anwendung an.

    Beispielsweise können Sie die server.port-Nummer vom Standardwert 8080 in server.port= 8081 ändern.

    Wie konfigurieren Sie Log4j für die Protokollierung?

    Mit diesen wenigen einfachen Schritten können wir Log4j für die Protokollierung konfigurieren:

  • Erstellen Sie zuerst Ihr Java-Projekt und klicken Sie dann mit der rechten Maustaste auf das Projekt. Navigieren Sie zu MyEclipse->File->New->Java Project, um das Projekt zu benennen, und klicken Sie auf Finish.
  • Klicken Sie als Nächstes mit der rechten Maustaste auf den Namen Ihres Java-Projekts und wählen Sie Build Path -> Configure Build Path aus. Dieser Schritt fügt die log4j-Datei hinzu.
  • Navigieren Sie zur Bibliothek und klicken Sie auf die Schaltfläche Externe JARS hinzufügen und wählen Sie die log4j-Datei aus dem angezeigten Dropdown-Menü aus. Klicken Sie dann auf OK.
  • Erstellen Sie eine neue Java-Datei mit dem Namen log4j.properties file, klicken Sie dann auf Finish und fügen Sie diese Datei dem Classpath hinzu.
  • Klicken Sie im Klassenpfad auf Erweitert, wählen Sie dann die Option Ordner hinzufügen und denken Sie daran, auf OK zu klicken.
  • Sie können jetzt nach der Datei log4j.properties suchen, auf OK klicken und das Projekt ausführen.
  • Überprüfen Sie die Konsole auf die folgende Ausgabe.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Was ist ein IoC-Container?

    Der IoC-Container (Inversion of Control) ist ein zentraler Spring-Container, der automatisch Dependency Injection implementiert. Es instanziiert die Anwendung der Klasse und ist für die Konfiguration der Objekte und das Zusammenstellen der notwendigen Abhängigkeiten verantwortlich.

    Es verwaltet auch den Lebenszyklus des Objekts von seiner Instanziierung bis zu seiner Zerstörung.

    IoC führt diese Aufgaben mithilfe der Metadatenkonfiguration in Java-Code, XML und Java-Annotationen aus.

    Der Container wird als Inversion of Control bezeichnet, da er die Java-Objekte und die Lebenszyklen dieser Objekte steuert. Dies ist ansonsten die Aufgabe eines Entwicklers.

    Erklären Sie, wie Sie mit Maven eine Spring Boot-Anwendung erstellen

    Dieser Prozess umfasst eine Reihe von Schritten.

    Schritt 1: Wählen Sie die Art des Projekts aus.

    Schritt 2: Benennen Sie Ihr Projekt, um es zu konfigurieren, und klicken Sie dann auf die Schaltfläche „Fertig stellen“, um das Projekt zu erstellen.

    Schritt 3: Jetzt konfigurieren wir die Datei pom.xml aus dem Maven-Projekt, um daraus ein Spring Boot-Projekt zu erstellen.

    pom.xml-Datei:

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

    Die Konfiguration beinhaltet das Hinzufügen eines übergeordneten Elements zum Maven-Projekt. Dadurch wird das Maven-Projekt als untergeordnetes Projekt des übergeordneten Projekts deklariert.

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

    Schritt 4: Fügen Sie als Nächstes die Webabhängigkeit, spring-boot-starter-web, zur pom.xml hinzu.

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

    Schritt 5: Fügen Sie die Java-Version des Projekts hinzu.

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

    Schritt 6: Beachten Sie, dass Sie jedes Mal, wenn Sie neue Abhängigkeiten hinzufügen, das Maven-Projekt aktualisieren müssen.

    Schritt 7: Machen Sie das Maven-Projekt lauffähig, indem Sie eine Java-Klasse im Paket src/main/java erstellen.

    Schritt 8: Rufen Sie als Nächstes die statische Ausführungsmethode der Klasse der Spring-Anwendung auf.

    Schritt 9: Zuletzt führen Sie die Klasse als Java-Anwendung aus.

    Was sind die Vorteile von Spring Boot gegenüber Spring?

    • Die Bootstrapping-Fähigkeit von Spring Boot zum Kompilieren der Quellsprache mithilfe des Boot-Initialisierers, einer Technik namens Bootstrapping, ermöglicht eine Platzersparnis auf den Geräten der Benutzer und reduziert auch die Ladezeit der Anwendung.
    • Im Gegensatz zu Spring ermöglicht Spring Boot die Verwaltung von Abhängigkeiten nach dem Hinzufügen der Spring-Boot-Abhängigkeiten, ohne vom übergeordneten POM (übergeordnetes Objektmodell) oder der XML-Datei abhängig zu sein.
    • Spring Boot ermöglicht es Entwicklern auch, entweder Anmerkungen oder XML-Konfigurationen zu verwenden, ohne XML-Konfigurationen verwenden zu müssen.
    • Entwickler bevorzugen Spring Boot wegen seines geringeren Boilerplate-Codes, der zum Einrichten einer Anwendung erforderlich ist. Dies liegt daran, dass Spring Boot mit einer In-Memory-Datenbank und einem eingebetteten Tomcat-Server geliefert wird, wodurch der Boilerplate-Code verringert wird. Spring hingegen hat mehr Boilerplate-Code.
    • Spring Boot erfordert nicht unbedingt WAR-Dateien (Web Application Resource) und kann sich nur auf die JAR-Datei (Java Resource) verlassen, die eine kleinere und einfachere Struktur hat und daher für Benutzer und Entwickler nützlicher ist.
    • Spring Boot bettet auch automatisch Server wie Tomcat und Jetty ein; Daher muss der Entwickler den Server nicht manuell einrichten, wie Sie es in Spring tun sollten.

    Der Paginierungsprozess unterteilt Daten in Abschnitte, um Ressourcen zu sparen. Es umfasst zwei Felder, die Seitengröße und die Seitenzahl.

    Der Prozess umfasst einige Schritte, darunter:

    Schritt 1: Ersteinrichtung
    Consisetupn-Entität nennen wir Person als Domänenklasse.

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

    Schritt 2: Repository-Erstellung
    Verwenden Sie als Nächstes ein PersonRepository, das PagingAndSortingRepository erweitert, um die Methoden findAll(Pageable pageable) und findAll(Sort sort) zum Paging bzw. Sortieren abzurufen.

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

    Schritt 3: Paginierungsschritt
    Der erste Schritt hier besteht darin, ein PageRequest-Objekt zu erstellen; durch Übergeben der Seitenzahl und der Seitengröße wie angefordert, die die Pageable-Schnittstelle implementiert.

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

    Übergeben Sie dann dieses PageRequest-Objekt als Parameter an die Repository-Methode.

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

    Standardmäßig gibt die Methode findAll(Pageable pageable) ein Page-Objekt zurück.

    Erklären Sie, wie Sie eine benutzerdefinierte automatische Konfiguration registrieren

    Geben Sie unter der @EnableAutoConfiguration-Schlüsseldatei META-INF/spring.factories den vollständig qualifizierten Namen an. Dieser Schritt registriert die Autokonfigurationsklasse.

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

    Um das Projekt mit Maven zu erstellen, müssen Sie die Datei im Verzeichnis resources/META-INF ablegen.

    Was ist Bootstrapping in Spring Boot?

    Bootstrapping ist der Prozess der Ausführung von Logik in der Spring Boot-Anwendung beim Start.
    Der Boot initializr kompiliert die Quellsprache in Spring Boot. Dieser Vorgang spart Speicherplatz auf dem Gerät und verkürzt außerdem die Ladezeit der Anwendung.

    Schlussworte 👨‍💻

    Nun, dieser Artikel behandelte einige Spring Boot-Fragen, die Interviewer Ihnen wahrscheinlich während Ihres Vorstellungsgesprächs stellen werden, und die Antworten, die Ihnen dabei helfen, es souverän zu meistern. Wir hoffen, dass Sie den Traumjob finden!

    Vielleicht möchten Sie auch ein paar relevante Tipps aus Fragen lernen, die während eines Java-Interviews gestellt werden.

    Viel Glück!🙂