一般来说,我是Micronaut和服务器端编程的新手。不幸的是,由于我没有Java背景,因此micronaut文档对我没有多大意义。许多术语如“ApplicationContext”在英语中都有意义,但我不知道如何在实践中使用它们。
尝试从一个非常基础的应用程序开始,该应用程序根据其所处的环境显示不同的配置(“localhost”,“dev”,“prod”)。
这是我的 Controller
@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.kt
cli工具生成的其余文件未更改mn
。启动micronaut时,如何设置每个环境参数或将yml文件作为参数传递?周围有什么约定吗?
最佳答案
您可以使用-Dmicronaut.environments
指定环境,或者通过在Application类的上下文生成器Micronaut.run
中指定环境。
https://docs.micronaut.io/latest/guide/index.html#environments
然后例如application-env.yml
将被加载。
https://docs.micronaut.io/latest/guide/index.html#propertySource
文档对此很清楚
关于kotlin - 如何在Micronaut中使用特定于环境的变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62999149/