Kotlin 如何在micronaut中使用特定于环境的变量?
一般来说,我对micronaut和服务器端编程都是新手。不幸的是,micronaut文档对我来说意义不大,因为我没有Java背景。像“ApplicationContext”这样的许多术语在英语中是有意义的,但我不知道如何在实践中使用它们 尝试从一个非常基本的应用程序开始,根据它所处的环境打印不同的配置(“localhost”、“dev”、“prod”) 这是我的控制器Kotlin 如何在micronaut中使用特定于环境的变量?,kotlin,micronaut,Kotlin,Micronaut,一般来说,我对micronaut和服务器端编程都是新手。不幸的是,micronaut文档对我来说意义不大,因为我没有Java背景。像“ApplicationContext”这样的许多术语在英语中是有意义的,但我不知道如何在实践中使用它们 尝试从一个非常基本的应用程序开始,根据它所处的环境打印不同的配置(“localhost”、“dev”、“prod”) 这是我的控制器 @Controller("/") class EnvironmentController { //
@Controller("/")
class EnvironmentController {
// this should return "localhost", "DEV", "PROD" depending on the environment
@Get("/env")
@Produces(MediaType.TEXT_PLAIN)
fun env() = "???" // what should I put here ?
// this should return the correct mongodb connection string for the environment
@Get("/mongo")
@Produces(MediaType.TEXT_PLAIN)
fun mongo() = "???" // what should I put here ?
}
这是应用程序.yml
。理想情况下,每个环境有1个yml文件
micronaut:
application:
name: myApp
server:
port: 8090
environment: localhost
mongodb:
uri: 'mongodb://localhost:27017'
Application.kt
与mn
cli工具生成的其余文件保持不变。启动micronaut时,如何设置每个环境参数,或将yml文件作为参数传递
有什么约定吗?您可以使用
-Dmicronaut.environments
指定环境,或者在应用程序类的上下文生成器Micronaut.run
中指定它们
然后将加载例如应用程序环境yml
文档在这方面非常清楚嗨,谢谢你给我指点文档。我确实读过那一节,但它并没有真正理解。我最终通过指定
-Dmicronaut.environments
使它工作起来。不清楚这是否是系统属性(没有太多Java经验)。但是我仍然不知道如何使用应用程序上下文。生成的main()