Spring Boot Application Properties File

I file di properties vengono utilizzati per dichiarare le proprietà dell’applicazione. In Spring Boot, il file usato per questo scopo è application.properties, si trova nella directory src / main / resources:

Di default è vuoto. Possiamo ad esempio inserire le seguenti proprietà:

server.port = 8085
spring.application.name = helloworldservice

in cui indichiamo il nome del servizio e su quale porta si deve avviare.

File YAML

Spring Boot supporta anche configurazioni di tipo YAML, un altro formato per rappresentare proprietà; quindi, invece di usare il file application.properties, possiamo usare il file application.yml, anch’esso contenuto nella  directory src / main / resources.

 Possiamo ad esempio inserire:

spring:
  name: demoservice
server:
  port: 9090

Uso properties

Per poter leggere il valore di una proprietà si usa l’annotation

@Value(“${property_key_name}”)

Esempio

	@Value("${application.listino}")
	private String tmp;

la variabile tmp conterrà il valore della proprietà application.listino, definita nel file di properties del  microservizio

application.listino=ListinoDiProva

Nota: se la proprietà non viene trovata durante l’esecuzione dell’applicazione, Spring Boot lancia un’eccezione.

Per risolvere questo problema, possiamo impostare il valore predefinito per la proprietà, usando la seguente sintassi:

@Value (“$ {property_key_name: default_value}”)

Esempio:

@Value("${application.listino:ListinoDiProva}")
	private String applicationListino;@Value ("$ {spring.application.name:demoservice}")

Spring Boot Profili

Spring Boot permette di avere file di properties diversi in base al profilo attivo Spring. Per esempio, possiamo mantenere due file separati, uno durante la fase di sviluppo del progetto e uno per la produzione.

Esempio

application.properties 
server.port=8080 
spring.application.name= demoservice

application-dev.properties 
server.port=9090 
spring.application.name= demoservice

application-prod.properties
server.port=4430 
spring.application.name=demoservice

Durante l’esecuzione del file JAR, è necessario specificare quale file di property usare. Di default, Spring Boot utilizza il file application.properties. Per usare uno diverso è sufficiente specificarlo all’avvio del servizio da linea di comando.

Esempio

In questo caso il servizio è startato usando il file application-dev.properties

In questo caso il servizio è startato usando il file application-dev.properties

È possibile visualizzare il nome del profilo attivo dalla console.

Esempio

Profili tramite application.yml

Se usiamo la notazione yaml, quindi il file application.yml, non è necessario utilizzare più file.

Esempio

spring:
  application: null
  name: demoservice
server:
  port: 8080

---  
spring:
  profiles: dev
  application: null
  name: demoservice
server:
  port: 9090

---
spring:
  profiles: prod
  application: null
  name: demoservice
server:
  port: 4431

Notare che il delimitatore (—) viene utilizzato per separare ogni profilo nel file application.yml.

La scelta del profilo avviene durante l’avvio del micro servizio:

(Visited 2 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *