我使用指南 send mail in micronaut 将 AWS SES API 集成到了我的 Micronaut Groovy 应用程序中如果我直接为属性赋值,我就可以发送邮件。
我想让它配置驱动,因此一直试图找到实现这一目标的方法。
我尝试了指南中提到的 @Value 注释,但无法使其工作。
@Value("aws.secretkeyid")
String keyId
进一步深入研究文档显示,Micronaut 有自己的注释,用于在变量中注入(inject)属性。
@Property(name="aws.secretkeyid")
String keyId
但似乎没有任何效果,我的变量仍然为空。
这里可能有什么问题?
作为引用,以下是我的 application.yml 文件
aws:
keyid: "2weadasdwda"
secretkeyid: "abcdesdasdsddddd"
region: "us-east-1"
最佳答案
您使用不正确,您正在注入(inject)文字值 aws.secretkeyid
,而不是变量的值。
正确的语法是(Groovy):
@Value('${aws.secretkeyid}')
String keyId
请注意,您必须使用单引号来避免 Groovy 尝试插值
java :
@Value("${aws.secretkeyid}")
String keyId;
Kotlin :
@Value("\${aws.secretkeyid}")
keyId: String
请注意,您必须使用反斜杠来转义美元符号以避免 Kotlin 字符串模板
关于micronaut - 如何在 Micronaut 中读取应用程序属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53436144/