Micronaut 未通过@Value 注释获取配置值

Micronaut not picking up config value through @Value annotation

我的应用程序 yaml 是这样的:

my:
  config:
    currentValue: 500

我的代码尝试像这样使用这个值:

@Singleton
public class MyClass {

  @Value("${my.config.current-value}")
  private final int myProperty;

  public MyClass(int myProperty) {
    this.myProperty = myProperty;
  }
}

但它没有接收到它,因为当我 运行 应用程序时我收到一个错误:

{"message":"Internal Server Error: Failed to inject value for parameter [myProperty] of class: com.foo.bar.MyClass Message: No bean of type [java.lang.String] exists. Make sure the bean is not disabled by bean requirements

我错过了什么?

一旦我从构造函数中删除了属性,它就可以工作了:

@Singleton
public class MyClass {

  @Value("${my.config.current-value}")
  private int myProperty;
  
}

如果要使用构造函数注入,需要在构造函数参数上注解。

@Singleton
public class MyClass {
 
  private final int myProperty;

  public MyClass(@Value("${my.config.current-value}") int myProperty) {
    this.myProperty = myProperty;
  }
}