Spring Boot - Introduzione

Spring Boot è un framework basato su Java open source utilizzato per creare un micro servizio. È sviluppato da Pivotal Team e viene utilizzato per creare applicazioni per molle indipendenti e pronte per la produzione. Questo capitolo ti fornirà un'introduzione a Spring Boot e ti familiarizzerà con i suoi concetti di base.

Cos'è Micro Service?

Micro Service è un'architettura che consente agli sviluppatori di sviluppare e distribuire servizi in modo indipendente. Ogni servizio in esecuzione ha il proprio processo e questo raggiunge il modello leggero per supportare le applicazioni aziendali.

Vantaggi

Micro services offre i seguenti vantaggi ai suoi sviluppatori:

  • Facile implementazione
  • Scalabilità semplice
  • Compatibile con i contenitori
  • Configurazione minima
  • Tempi di produzione ridotti

Cos'è Spring Boot?

Spring Boot fornisce una buona piattaforma per gli sviluppatori Java per sviluppare un'applicazione spring autonoma e di livello di produzione che puoi just run. Puoi iniziare con configurazioni minime senza la necessità di un'intera configurazione di Spring.

Vantaggi

Spring Boot offre i seguenti vantaggi ai suoi sviluppatori:

  • Facile da capire e sviluppare applicazioni a molla
  • Aumenta la produttività
  • Riduce i tempi di sviluppo

Obiettivi

Spring Boot è progettato con i seguenti obiettivi:

  • Per evitare complesse configurazioni XML in primavera
  • Sviluppare applicazioni Spring pronte per la produzione in modo più semplice
  • Per ridurre i tempi di sviluppo ed eseguire l'applicazione in modo indipendente
  • Offri un modo più semplice per iniziare con l'applicazione

Perché Spring Boot?

Puoi scegliere Spring Boot per le caratteristiche e i vantaggi che offre come indicato qui -

  • Fornisce un modo flessibile per configurare Java Beans, configurazioni XML e transazioni di database.

  • Fornisce una potente elaborazione batch e gestisce gli endpoint REST.

  • In Spring Boot, tutto è configurato automaticamente; non sono necessarie configurazioni manuali.

  • Offre un'applicazione a molla basata su annotazioni

  • Facilita la gestione delle dipendenze

  • Include il contenitore servlet incorporato

Come funziona?

Spring Boot configura automaticamente l'applicazione in base alle dipendenze aggiunte al progetto utilizzando @EnableAutoConfigurationannotazione. Ad esempio, se il database MySQL si trova nel percorso classi, ma non è stata configurata alcuna connessione al database, Spring Boot configura automaticamente un database in memoria.

Il punto di ingresso dell'applicazione di avvio primaverile è la classe contiene @SpringBootApplication annotazione e metodo principale.

Spring Boot analizza automaticamente tutti i componenti inclusi nel progetto utilizzando @ComponentScan annotazione.

Avviatori Spring Boot

Gestire la gestione delle dipendenze è un compito difficile per i grandi progetti. Spring Boot risolve questo problema fornendo una serie di dipendenze per comodità degli sviluppatori.

Ad esempio, se si desidera utilizzare Spring e JPA per l'accesso al database, è sufficiente includere spring-boot-starter-data-jpa dipendenza nel tuo progetto.

Notare che tutti gli avviatori Spring Boot seguono lo stesso schema di denominazione spring-boot-starter- *, dove * indica che si tratta di un tipo di applicazione.

Esempi

Guarda i seguenti avviatori Spring Boot spiegati di seguito per una migliore comprensione:

Spring Boot Starter Actuator dependencyviene utilizzato per monitorare e gestire la tua applicazione. Il suo codice è mostrato di seguito -

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

Spring Boot Starter Security dependencyviene utilizzato per Spring Security. Il suo codice è mostrato di seguito -

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

Spring Boot Starter web dependencyviene utilizzato per scrivere un Rest Endpoint. Il suo codice è mostrato di seguito -

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

Spring Boot Starter Thyme Leaf dependencyviene utilizzato per creare un'applicazione web. Il suo codice è mostrato di seguito -

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

Spring Boot Starter Test dependencyviene utilizzato per scrivere casi di test. Il suo codice è mostrato di seguito -

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

Configurazione automatica

Spring Boot Auto Configuration configura automaticamente l'applicazione Spring in base alle dipendenze JAR aggiunte nel progetto. Ad esempio, se il database MySQL si trova nel percorso della classe, ma non è stata configurata alcuna connessione al database, Spring Boot configura automaticamente un database in memoria.

A tale scopo, è necessario aggiungere @EnableAutoConfiguration annotazione o @SpringBootApplicationannotazione al file della classe principale. Quindi, l'applicazione Spring Boot verrà configurata automaticamente.

Osservare il seguente codice per una migliore comprensione:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Applicazione Spring Boot

Il punto di ingresso dell'applicazione Spring Boot è che la classe contiene @SpringBootApplicationannotazione. Questa classe dovrebbe avere il metodo principale per eseguire l'applicazione Spring Boot.@SpringBootApplication l'annotazione include la configurazione automatica, la scansione dei componenti e la configurazione Spring Boot.

Se hai aggiunto @SpringBootApplication annotazione alla classe, non è necessario aggiungere il file @EnableAutoConfiguration, @ComponentScan e @SpringBootConfigurationannotazione. Il@SpringBootApplication l'annotazione include tutte le altre annotazioni.

Osservare il seguente codice per una migliore comprensione:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Scansione dei componenti

L'applicazione Spring Boot analizza tutti i bean e le dichiarazioni dei pacchetti quando l'applicazione viene inizializzata. Devi aggiungere il file@ComponentScan annotazione per il file di classe per scansionare i componenti aggiunti al progetto.

Osservare il seguente codice per una migliore comprensione:

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}