我正在 Spring Boot 中开发一个简单的应用程序。它是在本地开发的(并且可以工作):
- Gradle,
- H2 数据库的连接属性设置为
application.properties
放置在项目的根目录下
- Maven 文件夹结构(
src/main/groovy
, src/main/resources
, etc.)
现在我想将其部署到 Openshift,因此我需要使用 MySQL 设置创建一个额外的生产配置,但我不知道将其放在哪里以及如何使用它。
所以我的问题是:
- 我应该怎么做才能有两种不同的配置(
development
and production
)?
- 配置文件放在哪里?
- 我需要改变一些东西吗
build.gradle
?
- How to build具有开发或生产配置的应用程序?
- How to run具有开发或生产配置的应用程序?
- 创建多个环境配置的最佳实践是什么?
我是一名前端开发人员,所有这些后端内容对我来说并不明显,所以请在您的答案中考虑它。
这是我当前的内容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()
}
我应该怎么做才能拥有两种不同的配置(开发和生产)?
对于您的情况,您可以使用配置文件来实现它。你可以阅读相关内容here https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html。对于您可以拥有的每个个人资料具体应用属性 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties文件(名为application-%PROFILE_NAME%.properties
, like application-prod.properties
,同样如此.yml
配置文件)并且您必须指定要使用的配置文件,然后通过命令行开关启动您的应用程序,例如如下所示:
--spring.profiles.active=prod
配置文件放在哪里?
就和你在同一个地方application.properties
file.
我需要更改 build.gradle 中的某些内容吗?
不,您不需要修改构建脚本。由于运行应用程序需要所有特定配置,而不是构建。
如何使用开发或生产配置构建应用程序?
您不需要使用某些特定配置来构建它,只需使用它来运行它即可。
如何使用开发或生产配置运行应用程序?
正如前面所说 - 只需指定启动应用程序时使用的配置文件即可。
创建多个环境配置的最佳实践是什么?
对我来说,如果你使用 spring - 使用配置文件和配置文件特定的配置和 bean 定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)