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;
}
}
我的应用程序 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;
}
}