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

饿马:

一般来说,我是Micronaut和服务器端编程的新手。不幸的是,由于我没有Java背景,因此micronaut文档对我而言没有太多意义。许多术语如“ 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 ?
}

这是application.yml理想情况下,每个环境我都会有1个yml文件

micronaut:
  application:
    name: myApp
  server:
    port: 8090

environment: localhost

mongodb:
  uri: 'mongodb://localhost:27017'

Application.ktmncli工具生成的其余文件未更改。启动micronaut时,如何设置每个环境参数或将yml文件作为参数传递?

周围有什么约定吗?

詹姆斯·克莱(James Kleeh):

您可以使用-Dmicronaut.environments或通过Micronaut.run在Application类的上下文构建器指定环境来指定环境

https://docs.micronaut.io/latest/guide/index.html#environments

然后例如application-env.yml将被加载。

https://docs.micronaut.io/latest/guide/index.html#propertySource

文档对此很清楚

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章