Ricerca…


Ambiente di sviluppo e produzione utilizzando origini dati diverse

Dopo aver installato correttamente l'applicazione Spring-Boot, tutta la configurazione viene gestita in un file application.properties. Troverete il file su src/main/resources/ .

Di norma è necessario avere un database dietro l'applicazione. Per lo sviluppo la sua buona per avere una configurazione di dev e un prod ambienti. Usando più file application.properties puoi dire a Spring-Boot con quale ambiente l'applicazione dovrebbe iniziare.

Un buon esempio è configurare due database. Uno per dev e uno per productive .

Per il dev ambiente è possibile utilizzare un database in memoria come H2 . Crea un nuovo file nella directory src/main/resources/ denominata application-dev.properties . All'interno del file c'è la configurazione del database in memoria:

spring.datasource.url=jdbc:h2:mem:test
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

Per l'ambiente prod si collegherà ad un database "reale" ad esempio postgreSQL . Creare un nuovo file nella directory src/main/resources/ denominata application-prod.properties . All'interno del file c'è la configurazione del database postgreSQL :

spring.datasource.url= jdbc:postgresql://localhost:5432/yourDB
spring.datasource.username=postgres
spring.datasource.password=secret

Nel tuo file application.properties predefinito ora puoi impostare quale profilo è attivato e utilizzato da Spring-Boot. Basta impostare un attributo all'interno:

spring.profiles.active=dev

o

spring.profiles.active=prod

Importante è che la parte dopo - in application-dev.properties è l'identificativo del file.

Ora puoi avviare l'applicazione Spring-Boot in modalità sviluppo o produzione semplicemente cambiando l'identificatore. Un database in memoria verrà avviato o la connessione a un database "reale". Certo ci sono anche molti più casi d'uso per avere più file di proprietà.

Imposta il profilo della molla giusta creando l'applicazione automaticamente (esperto)

Creando più file di proprietà per i diversi ambienti o casi d'uso, è talvolta difficile cambiare manualmente il valore active.profile a quello giusto. Ma c'è un modo per impostare active.profile nel file application.properties mentre si costruisce l'applicazione usando maven-profiles .

Supponiamo che nella nostra applicazione ci siano tre file di proprietà degli ambienti:

application-dev.properties :

spring.profiles.active=dev
server.port=8081

application-test.properties :

spring.profiles.active=test
server.port=8082

application-prod.properties .

spring.profiles.active=prod
server.port=8083

Questi tre file differiscono solo per la porta e il nome del profilo attivo.

Nel file application.properties principale impostiamo il nostro profilo molla usando una variabile maven :

application.properties .

spring.profiles.active=@profileActive@

Dopodiché, dobbiamo solo aggiungere i profili pom.xml nel nostro pom.xml . pom.xml profili per tutti e tre gli ambienti:

 <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <build.profile.id>dev</build.profile.id>
                <profileActive>dev</profileActive>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <build.profile.id>test</build.profile.id>
                <profileActive>test</profileActive>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <build.profile.id>prod</build.profile.id>
                <profileActive>prod</profileActive>
            </properties>
        </profile>
    </profiles>

Ora puoi creare l'applicazione con Maven. Se non si imposta alcun profilo Maven, ne viene creato uno predefinito (in questo esempio è dev). Per specificare uno devi usare una parola chiave Maven. La parola chiave per impostare un profilo in Maven è -P direttamente seguito dal nome del profilo: mvn clean install -Ptest .

Ora puoi anche creare build personalizzate e salvare quelle nel tuo IDE per build più veloci.

Esempi:

mvn clean install -Ptest

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.3.RELEASE)

2017-06-06 11:24:44.885  INFO 6328 --- [           main] com.demo.SpringBlobApplicationTests      : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 11:24:44.886  INFO 6328 --- [           main] com.demo.SpringApplicationTests      : The following profiles are active: test

mvn clean install -Pprod

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.3.RELEASE)

2017-06-06 14:43:31.067  INFO 6932 --- [           main] com.demo.SpringBlobApplicationTests      : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 14:43:31.069  INFO 6932 --- [           main] com.demo.SpringApplicationTests      : The following profiles are active: prod


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow