如何启动独立的Spring Boot JPA应用程序 - 而不是通过cli - 选择数据库来获取数据,例如localhost:5432 / my_db;或192.168.1.100:5432/our_db,或example.com:5432/their_db?
我目前使用的application.properties文件中包含:
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
提前致谢
答案 0 :(得分:4)
由于您可能还需要配置用户名和密码,因此我建议为每个数据源配置创建单独的application-mydatasource.properties
文件。然后,您将根据设置活动配置文件激活要使用的数据源。您可以在application.properties
(spring.profiles.active
)中或通过命令行参数设置活动配置文件:
$ java -jar -Dspring.profiles.active=mydatasource demo-0.0.1-SNAPSHOT.jar
application-mydatasource.properties
将覆盖application.properties
中的所有媒体资源。我相信您还需要将spring.profiles=
设置为可用的配置文件列表。
答案 1 :(得分:0)
除了@Profile标签之外的另一个选项,你必须在每个环境中声明你将部署应用程序,你可以在Spring Boot中使用标签:
@ConditionalOnProperty(name =“propertyName”,havingValue =“propertyValue”)
并在每种情况下声明一个属性以决定要加载的数据库!
希望有所帮助!!