22 Domande e risposte frequenti sull’intervista Spring Boot

Sei uno sviluppatore Java Spring Boot che non vede l’ora di affrontare un’imminente intervista ma non sei sicuro di quali domande aspettarti? Siamo qui per aiutare!

Questo articolo ti aiuterà a prepararti adeguatamente delineando diverse domande e risposte frequenti sui colloqui Spring Boot che gli intervistatori possono utilizzare per metterti alla prova.

Gli intervistatori utilizzano domande strategiche di Java Spring Boot per testare i livelli di abilità degli intervistati rilevanti per il ruolo designato. Pertanto, è necessario prepararsi con domande pertinenti e sapere come rispondere.

Prima di passare direttamente alle domande dell’intervista e alle relative risposte, esaminiamo una panoramica di base di cosa sia Spring Boot e quanto sia utile per gli sviluppatori Java.

Cos’è Java Spring Boot?

Questo framework Java è una creazione del team cardine nel 2014. Spring Boot, che è un framework open source, sviluppa in modo efficiente applicazioni indipendenti, di livello produttivo e possono anche essere eseguite su una Java Virtual Machine (JVM).

Gli sviluppatori Java lo preferiscono per lo sviluppo di applicazioni Web e microservizi per il suo processo di configurazione facile e veloce e il tempo di configurazione sicuro.

La facile installazione e configurazione delle applicazioni basate su Spring di Spring Boot sono possibili con le sue tre funzionalità principali che includono:

  • Autoconfigurazione – che è una configurazione automatica dell’applicazione Spring.
  • Spring Boot fornisce un approccio supponente alle impostazioni predefinite di configurazione da utilizzare e ai pacchetti da installare per le dipendenze richieste. Questo approccio supponente aiuta nella rapida configurazione dei progetti.
  • Sprsetupoot ti consente di eseguire in modo indipendente la tua applicazione senza la necessità di un server web.

In che modo Spring Boot è utile per gli sviluppatori Java?

Per uno, gli sviluppatori Java che utilizzano Spring Boot hanno più facilità con la configurazione automatica di tutti i componenti necessari per sviluppare un’applicazione Spring di livello produttivo. Questo, a lungo termine, riduce i tempi di sviluppo e alla fine ne aumenta l’efficienza.

Spring Boot si integra facilmente anche con l’ecosistema Spring, che include Spring JDBC, Spring Data, Spring Security e Spring ORM.

Gli sviluppatori Java possono anche connettere Spring Boot con diversi database come Oracle, MySQL, PostgreSQL e MongoDB, tra gli altri.

Naturalmente, le configurazioni flessibili con configurazioni XML, Java Bean e transazioni di database sono tra le altre utili funzionalità.

Pertanto, ora che hai una panoramica di base di Spring Boot, prendiamo in considerazione alcune delle domande e risposte frequenti sull’intervista di Spring Boot che ti aiuteranno a prepararti per il tuo colloquio.

Domande e risposte sull’intervista Spring Boot

Quali sono alcune caratteristiche di Spring Boot?

Alcune di queste funzionalità popolari includono:

  • La Spring Boot CLI fornisce Groovy per la scrittura dell’applicazione Spring Boot; a lungo termine, il codice boilerplate viene evitato.
  • Spring Boot fornisce la registrazione e una funzione di sicurezza che protegge facilmente la tua applicazione da potenziali minacce alla sicurezza.
  • Fornisce l’autoconfigurazione dei componenti rilevanti per il tuo progetto, evitando così il rischio di file WAR non necessari.
  • L’inizializzatore di avvio stabilisce per te una struttura di progetto interna predefinita. In questo modo non è necessario impostare manualmente la struttura del progetto.
  • La funzione dell’attuatore Spring Boot consente di accedere a informazioni e metriche durante l’esecuzione dell’applicazione.
  • Naturalmente, una delle funzionalità chiave di Spring Boot, Starter Dependency, aiuta ad aggregare le dipendenze comunemente utilizzate di una particolare funzionalità.

Cosa sono gli Spring Boot Starter?

Gli avviatori Spring Boot sono descrittori di dipendenze che includono una serie di provider di gestione delle dipendenze che abilitano le dipendenze dell’applicazione. Forniscono il framework con la risoluzione delle dipendenze automatiche. Gli antipasti migliorano lo sviluppo facile e rapido.

Che cos’è un attuatore in Spring Boot e quali sono i suoi vantaggi?

L’attuatore è una delle funzionalità di Spring Boot che consente di monitorare ciò che accade all’interno di un’applicazione durante l’esecuzione.

Durante il debug, ad esempio, puoi utilizzare l’attuatore per analizzare i log consentendo l’accesso a funzionalità come l’utilizzo della CPU e l’identificazione dei bean.

Inoltre, l’attuatore non solo fornisce un facile accesso agli endpoint REST pronti per la produzione, che monitorano e gestiscono le informazioni, ma recupera anche i dati dal Web.

Cos’è la foglia di timo e come usarla?

Thymeleaf è il modello lato server di Java che crea un layout di modello naturale per le applicazioni Web Java Spring e HTML5.

Spring Boot eseguirà una configurazione automatica di thymeleaf utilizzando la dipendenza spring-boot-starter-thymeleaf nel file pom.xml per servire il contenuto web dinamico.

Per consentire a Spring Boot di leggere ed eseguire il rendering dei modelli thymeleaf o dei file HTML, posizionare i modelli in src/main/resources/templates.

Thymeleaf analizza quindi il file index.html e utilizza i valori effettivi passati dalla classe controller al posto dei valori dinamici disponibili nel file index.

Successivamente, il messaggio viene visualizzato nel browser Web non appena viene eseguita l’applicazione Spring Boot.

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

Descrivi il processo di creazione di un progetto Spring Boot utilizzando Spring Initializer.

Spring Initializr, che è uno strumento web di Spring, ti consente di creare un progetto Spring Boot utilizzando pochi passaggi fornendo i dettagli del progetto.

  • Vai a Spring intializr e compila i campi di input.
  • Facendo clic sul pulsante Genera verrà avviato il download del progetto.
  • Estrai il progetto scaricato dal file zip e aprilo dal tuo IDE. Dall’IDE, vai su File->Nuovo->Progetto da sorgenti esistenti->Spring-boot-app, quindi seleziona il file pom.xml. Fare clic sulla richiesta di importazione delle modifiche in modo che il progetto venga sincronizzato. Dopodiché, ricorda di andare al file application.properties e modificare il numero server.port in server.port=7000.
  • Ora, esegui l’applicazione da src->main->java->com.gfg.Spring.boot.app
  • Che cos’è JPA in Spring Boot?

    Questa è una specifica in Java che utilizza Object-Relation Mapping (ORM) per gestire i dati relazionali e consente l’accesso ai dati tra l’oggetto Java o la classe Java e il database relazionale dell’applicazione.

    JPA utilizza Java Persistent Query Language (JPQL), un linguaggio di query orientato agli oggetti che è anche indipendente dalla piattaforma.

    JPA consente l’elaborazione di query e le transazioni di oggetti sul database utilizzando l’API Entity Manager che fornisce.

    Che cos’è la configurazione automatica in Spring Boot?

    La configurazione automatica cerca di automatizzare la configurazione dell’applicazione Spring Boot utilizzando le dipendenze jar che aggiungi alle applicazioni.

    A seconda delle dipendenze disponibili nel Classpath dell’applicazione, la configurazione automatica dichiarerà gli oggetti incorporati del modulo specifico di Spring, inclusi JPA e Spring Security, tra gli altri.

    Cosa sono le annotazioni primaverili?

    Le annotazioni primaverili si riferiscono a metadati che offrono informazioni su un frammento di programma e aggiungono dati supplementari a quel programma. I componenti del codice, inclusi classi e metodi, sono spesso associati alle annotazioni.

    Le annotazioni non influiscono direttamente sul funzionamento del programma o sull’azione successiva del codice compilato.
    La loro sintassi inizia con il simbolo ‘@’.

    Spring Boot fornisce sei tipi di annotazioni principali che includono:

    • Annotazioni di base di primavera
    • Annotazioni sui dati di primavera
    • Annotazioni di fagioli di primavera
    • Annotazioni web primaverili
    • Annotazioni sulla pianificazione primaverile
    • Annotazioni di avvio a molla

    Cosa significa Spring Data REST?

    Spring Data REST espone le risorse in RESTful che si trovano intorno a Spring Data Resources utilizzando un codice minimo.

    L’esempio seguente usa il metodo POST per richiedere contenuto utilizzando http://localhost/example come URL e Content-Type: application/json come Header.

    Contenuto della richiesta:

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

    Contenuto della risposta:

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

    Si tratta di un insieme completo di strumenti predefiniti le cui proprietà vengono applicate ai rispettivi ambienti di sviluppo per semplificare lo sviluppo e risparmiare tempo di sviluppo.

    Ogni volta che si modifica il codice nell’applicazione Spring Boot, la funzione Spring Boot DevTools si riavvia automaticamente. Pertanto, ti evita la fatica di riavviare manualmente l’applicazione ogni volta che modifichi il tuo codice.

    Che cosa sono i dati di primavera?

    I dati di primavera cercano di offrire agli sviluppatori un facile accesso alle tecnologie di accesso ai dati come dati relazionali e non relazionali e servizi di dati basati su cloud poiché continuano a mantenere le caratteristiche speciali del datastore sottostante.

    Come dire a una configurazione automatica di indietreggiare quando esiste un bean?

    Qui utilizzerai l’annotazione @ConditionalOnMissingBean, che include l’attributo name e value come segue.

    • value memorizza il tipo di bean da controllare
    • name attributo che nomina il bean da controllare

    Come recuperare i dati dal database in Spring Boot?

    Possiamo accedere ai dati da un database MySQL alla nostra applicazione Spring Boot utilizzando i seguenti passaggi.

    Passaggio 1: utilizzare il comando create DATABASE person per creare il database in MySQL.

    Passaggio 2: all’interno del database, crea una tabella:

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

    Passaggio 3: ora crea un’applicazione Spring Boot, quindi aggiungi ad essa JDBC, MySQL e le dipendenze Web richieste.

    Passaggio 4: configurare il database dal file application.properties come di seguito.

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

    Passaggio 5: quindi, gestiamo le richieste nella classe controller:

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

    Infine, esegui la tua applicazione mentre controlli la voce del database per vedere i dati a cui si accede.

    Perché abbiamo bisogno dei profili di primavera?

    I profili a molla consentono di separare la configurazione di un’applicazione di parti diverse e di avvalersene per sviluppi specifici.

    Spring Profiles evita inoltre allo sviluppatore di dover gestire configurazioni esterne specifiche dell’ambiente se i profili Spring non fossero disponibili.

    Inoltre, ciò renderebbe difficile mantenere la sincronizzazione e significherebbe la necessità aggiuntiva di scrivere diversi componenti simili a quelli di fabbrica che potrebbero avvalersi di determinate cose richieste a seconda di particolari parametri specifici dell’ambiente.

    Possiamo cambiare la porta del server Tomcat incorporato in Spring boot?

    Sì possiamo.

    Questo viene fatto manipolando il file application.properties per includere la proprietà server.port e assegnandogli una porta a tua scelta. Spring Boot carica automaticamente il file delle proprietà dell’applicazione e applica le configurazioni richieste all’applicazione.

    Ad esempio, puoi modificare il numero server.port dal valore predefinito di 8080 a server.port= 8081.

    Come si configura Log4j per la registrazione?

    Con questi pochi semplici passaggi, possiamo configurare Log4j per la registrazione:

  • Innanzitutto, crea il tuo progetto Java, quindi fai clic con il pulsante destro del mouse sul progetto. Passare a MyEclipse->File->Nuovo->Java Project per assegnare un nome al progetto e fare clic su Fine.
  • Quindi, fai clic con il pulsante destro del mouse sul nome del progetto Java e seleziona Build Path -> Configura Build Path. Questo passaggio aggiungerà il file log4j.
  • Passare alla libreria e fare clic sul pulsante Aggiungi JARS esterni e selezionare il file log4j dal menu a discesa visualizzato. Quindi fare clic su OK.
  • Crea un nuovo file java che chiamerai file log4j.properties, quindi fai clic su Fine e aggiungi questo file al Classpath.
  • Fai clic su Avanzate dal percorso di classe, quindi seleziona l’opzione Aggiungi cartelle e ricorda di fare clic su OK.
  • Ora puoi cercare il file log4j.properties, fare clic su OK ed eseguire il progetto.
  • Controllare la console per l’output di seguito.
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    Che cos’è un contenitore IoC?

    Il contenitore IoC (Inversion of Control) è un contenitore Spring principale che implementa automaticamente l’inserimento delle dipendenze. Crea un’istanza dell’applicazione della classe ed è responsabile della configurazione degli oggetti e dell’assemblaggio delle dipendenze necessarie.

    Gestisce anche il ciclo di vita dell’oggetto dalla sua istanziazione alla sua distruzione.

    IoC esegue queste attività utilizzando la configurazione dei metadati in codice Java, XML e annotazioni Java.

    Il container viene definito Inversion of Control perché controlla gli oggetti Java e i cicli di vita di questi oggetti. Questo è altrimenti il ​​compito di uno sviluppatore.

    Spiega come creare un’applicazione Spring Boot usando Maven

    Questo processo prevede una serie di passaggi.

    Passaggio 1: seleziona il tipo di progetto.

    Passaggio 2: assegna un nome al progetto per configurarlo, quindi fai clic sul pulsante Fine per creare il progetto.

    Passaggio 3: ora configureremo il file pom.xml dal progetto Maven per creare un progetto Spring Boot da esso.

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

    La configurazione prevede l’aggiunta di un genitore al progetto Maven. Questo dichiarerà il progetto Maven come progetto figlio per il progetto padre.

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

    Passaggio 4: quindi, aggiungi la dipendenza web, spring-boot-starter-web, a pom.xml.

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

    Passaggio 5: aggiungi la versione Java del progetto.

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

    Passaggio 6: nota che ogni volta che aggiungi nuove dipendenze, devi aggiornare il progetto Maven.

    Passaggio 7: rendi eseguibile il progetto Maven creando una classe Java all’interno del pacchetto src/main/java.

    Passaggio 8: quindi, chiama il metodo di esecuzione statica della classe dell’applicazione Spring.

    Passaggio 9: infine, esegui la classe come un’applicazione Java.

    Quali sono i vantaggi di Spring Boot rispetto a Spring?

    • La capacità di bootstrap di Spring Boot di compilare il linguaggio sorgente utilizzando l’inizializzatore di avvio, una tecnica chiamata bootstrapping, consente di risparmiare spazio sui dispositivi degli utenti e riduce anche il tempo di caricamento dell’applicazione.
    • A differenza di Spring, Spring Boot consente la gestione delle dipendenze dopo aver aggiunto le dipendenze spring-boot senza dipendere dal file POM (parent Object Model) o XML padre.
    • Spring Boot consente inoltre agli sviluppatori di utilizzare annotazioni o configurazioni XML senza la necessità di utilizzare configurazioni XML.
    • Gli sviluppatori preferiscono Spring Boot per il codice boilerplate ridotto necessario per configurare un’applicazione. Questo perché Spring Boot viene fornito con un database in memoria e un server Tomcat incorporato, riducendo il codice standard. La primavera, d’altra parte, ha più codice standard.
    • Spring Boot non richiede necessariamente file WAR(risorsa applicazione web) e può fare affidamento solo su JAR(Risorsa Java), che ha una struttura piccola e più semplice e quindi è più utile per utenti e sviluppatori.
    • Spring Boot incorpora automaticamente anche server come Tomcat e Jetty; pertanto, lo sviluppatore non ha bisogno di configurare manualmente il server come dovresti fare in primavera.

    Il processo di impaginazione divide i dati in sezioni per risparmiare risorse. Comprende due campi, la dimensione della pagina e il numero di pagina.

    Il processo prevede alcuni passaggi, tra cui:

    Passaggio 1: configurazione iniziale
    Consisetupn entità chiameremo Person come classe di dominio.

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

    Passaggio 2: creazione del repository
    Quindi, utilizzare un PersonRepository estende PagingAndSortingRepository per essere in grado di ottenere i metodi findAll(Pageable pageable) e findAll(Sort sort) rispettivamente per il paging e l’ordinamento.

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

    Passaggio 3: passaggio di impaginazione
    Il primo passo qui implica la creazione di un oggetto PageRequest; passando il numero di pagina e la dimensione della pagina come richiesto che implementa l’interfaccia Pageable.

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

    Quindi passa questo oggetto PageRequest al metodo del repository come parametro.

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

    Per impostazione predefinita, il metodo findAll(Pageable pageable) restituirà un oggetto Page.

    Spiega come registrare una configurazione automatica personalizzata

    Sotto il file META-INF/spring.factory della chiave @EnableAutoConfiguration, menziona il nome completo. Questo passaggio registra la classe di configurazione automatica.

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

    La creazione del progetto utilizzando Maven richiederà di inserire il file nella directory resources/META-INF.

    Che cos’è il bootstrap in Spring Boot?

    Il bootstrap è il processo di esecuzione della logica nell’applicazione Spring Boot all’avvio.
    Boot initializr compila la lingua di origine in Spring Boot. Questo processo consente di risparmiare spazio sul dispositivo e riduce anche il tempo di caricamento dell’applicazione.

    Parole finali 👨‍💻

    Bene, questo articolo ha trattato alcune domande di Spring Boot che gli intervistatori probabilmente ti chiederanno durante il tuo colloquio e le risposte per aiutarti con sicurezza. Ci auguriamo che tu possa ottenere il lavoro da sogno!

    Potresti anche voler imparare alcuni suggerimenti rilevanti dalle domande poste durante un’intervista Java.

    In bocca al lupo!🙂