Comment puis-je démarrer une application Spring Boot JPA autonome - pas via cli - avec un choix de bases de données pour obtenir des données, par exemple localhost: 5432/my_db; ou 192.168.1.100:5432/our_db, ou example.com:5432/their_db?
Mine utilise actuellement celui du fichier application.properties qui contient:
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/my_db
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
Merci d'avance
Étant donné que vous devez probablement également configurer un nom d'utilisateur et un mot de passe, il est recommandé de créer des fichiers application-mydatasource.properties
distincts pour chaque configuration de source de données. Vous activerez ensuite la source de données que vous souhaitez utiliser en fonction de la définition du profil actif. Vous pouvez définir le profil actif dans application.properties
(spring.profiles.active
) ou via un argument de ligne de commande:
$ Java -jar -Dspring.profiles.active=mydatasource demo-0.0.1-SNAPSHOT.jar
Le application-mydatasource.properties
remplacera alors les propriétés de votre application.properties
. Je crois que vous devrez également définir spring.profiles=
à la liste des profils disponibles.
Outre l'étiquette @Profile, vous devrez utiliser dans chaque environnement le déploiement de l'application que vous pourrez utiliser dans Spring Boot:
@ConditionalOnProperty (name = "propertyName", havingValue = "propertyValue")
Et déclarez une propriété pour décider quelle base de données vous souhaitez charger dans chaque cas!
J'espère pouvoir aider !!