Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 如何在micronaut中使用特定于环境的变量?_Kotlin_Micronaut - Fatal编程技术网

Kotlin 如何在micronaut中使用特定于环境的变量?

Kotlin 如何在micronaut中使用特定于环境的变量?,kotlin,micronaut,Kotlin,Micronaut,一般来说,我对micronaut和服务器端编程都是新手。不幸的是,micronaut文档对我来说意义不大,因为我没有Java背景。像“ApplicationContext”这样的许多术语在英语中是有意义的,但我不知道如何在实践中使用它们 尝试从一个非常基本的应用程序开始,根据它所处的环境打印不同的配置(“localhost”、“dev”、“prod”) 这是我的控制器 @Controller("/") class EnvironmentController { //

一般来说,我对micronaut和服务器端编程都是新手。不幸的是,micronaut文档对我来说意义不大,因为我没有Java背景。像“ApplicationContext”这样的许多术语在英语中是有意义的,但我不知道如何在实践中使用它们

尝试从一个非常基本的应用程序开始,根据它所处的环境打印不同的配置(“localhost”、“dev”、“prod”)

这是我的控制器

@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()