我正在使用Spring Boot中的一个简单应用程序。它是在本地开发的(并且有效):
application.properties
放置在项目的根目录src/main/groovy
,src/main/resources
等)现在是我想将它部署到Openshift的时候,所以我需要创建一个带有MySQL设置的附加生产配置,但我不知道在哪里放置它以及如何使用它。
所以我的问题是:
development
和production
)?build.gradle
?我是一个前端开发者,所有这些后端的东西对我来说并不明显,所以请在你的答案中考虑它。
这是我当前build.gradle
plugins {
id 'org.springframework.boot' version '1.5.3.RELEASE'
id 'java'
id 'groovy'
}
jar {
baseName = 'myproject'
version = '0.0.1-SNAPSHOT'
}
repositories {
jcenter()
}
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
testCompile("org.springframework.boot:spring-boot-starter-test")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile 'mysql:mysql-connector-java'
compile("com.h2database:h2")
compile("org.springframework.boot:spring-boot-starter-security")
compile('io.jsonwebtoken:jjwt:0.7.0')
compile localGroovy()
}
答案 0 :(得分:7)
如何进行两种不同的配置(开发和生产)?
在您的情况下,您可以使用配置文件来实现它。你可以阅读它here。对于每个配置文件,您可以拥有specific application properties文件(名为application-%PROFILE_NAME%.properties
,如application-prod.properties
,.yml
配置文件也是如此)并且您必须指定您使用的配置文件您正在通过命令行开关启动您的应用程序,例如:
--spring.profiles.active=prod
放置配置文件的位置?
与application.properties
文件位于同一位置。
我是否必须在build.gradle中更改某些内容?
不,您不需要修改构建脚本。由于运行应用程序需要所有特定配置,因此不需要构建。
如何使用开发或生产配置构建应用程序?
您不需要使用某些特定配置构建它,只需使用它运行它。
如何使用开发或生产配置运行应用程序?
如前所述 - 只需指定启动应用程序时要使用的配置文件。
创建多个环境配置的最佳做法是什么?
至于我,如果你使用spring - 使用配置文件和配置文件特定的配置和bean定义。
答案 1 :(得分:0)
在此处概述的现有application.properties文件旁边创建一个单独的application-dev.properties
以包含您的h2配置https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties,然后在启动应用程序时通过在启动应用程序时传入以下参数来激活它--spring.profiles.active=dev
您可以对生产application-prod.properties
执行相同操作,并将常用配置保留在application.properties
中。