我在Spring中开发了一个简单的应用程序。它是在当地开发的(而且它可以工作),包括:
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()
}
发布于 2017-05-31 06:32:32
我应该怎么做才能有两种不同的配置(开发和生产)?
在您的情况下,您可以使用配置文件来实现它。你可以读到它,这里。对于每个配置文件,您都可以拥有特定应用特性文件(名为application-%PROFILE_NAME%.properties
,类似于application-prod.properties
,对于.yml
配置文件也是如此),您必须指定您使用什么配置文件,然后通过命令行开关启动应用程序,例如:
--spring.profiles.active=prod
配置文件放在哪里?
就在与您的application.properties
文件相同的位置。
我必须在build.gradle中改变什么吗?
不,您不需要修改构建脚本。因为运行应用程序需要所有特定的配置,而不是构建。
如何使用开发或生产配置构建应用程序?
您不需要使用特定的配置来构建它,只需使用它运行即可。
如何使用开发或生产配置运行应用程序?
如前所述,只需指定启动应用程序时使用的概要文件即可。
创建多个环境配置的最佳实践是什么?
至于我,如果您使用spring -来使用概要文件和配置文件特定的配置和bean定义。
发布于 2017-05-31 00:03:52
沿着这里概述的现有application-dev.properties
文件创建一个单独的application.properties文件,以包含您的h2配置https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties,然后在dev中运行时通过在启动应用程序--spring.profiles.active=dev
时传递以下参数来激活它,您可以在生产中执行相同的操作,即application-prod.properties
,并将公共配置保留在application.properties
中。
https://stackoverflow.com/questions/44272086
复制相似问题