Java 使用@Value将属性文件中的值注入@Configuration类
我有一个值存储在resources目录中的Java 使用@Value将属性文件中的值注入@Configuration类,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个值存储在resources目录中的application.properties文件中。我想将此值注入带有@Configuration注释的类中 @Configuration @RequiredArgsConstructor public class Xconfig { @Value("${x}") private final String x; } application.properties: x=hello 这适用于@Component/@服务类,但不适用于@
application.properties
文件中。我想将此值注入带有@Configuration
注释的类中
@Configuration
@RequiredArgsConstructor
public class Xconfig {
@Value("${x}")
private final String x;
}
application.properties:
x=hello
这适用于@Component/@服务类,但不适用于@Configuration。错误消息:
xConfig中构造函数的参数1需要一个bean
找不到类型为“java.lang.String”的
用自己的构造函数替换
@RequiredArgsConstructor
注释可以解决此问题
public Xconfig(@Value("${x}") final String x) {
this.x = x;
}
从
String x
中删除final
,或者手动声明构造函数(并删除@RequiredArgsConstructor
)并将@Value附加到参数。此cdi与此有何关系?