gpt4 book ai didi

spring - @Value 未注入(inject)

转载 作者:行者123 更新时间:2023-12-04 16:52:51 24 4
gpt4 key购买 nike

我正在尝试将属性文件中的值注入(inject)到 spring 配置类中,如下所示:

@Configuration
@EnableWebMvc
public class ImagesContext {
@Autowired
@Value("${some.property.com}")
private String property;

@Bean
public MyClass getMyClass() {
return new MyClass(property);
}
}

但是该属性未正确注入(inject)。相反,当我调试时,我看到 property字符串包含 ${some.property.com}而不是字符串值本身。

最佳答案

@Value注释由 AutowiredAnnotationBeanPostProcessor 处理如果您有 <component-scan>,则通常已注册或 <annotation-config> XML 中的配置(或直接使用 bean 定义)。您需要添加其中任何一个,可能是 <annotation-config>
如果尚未完成,请在 Config 类中添加以下 bean 声明

@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}

为了 @Value注释工作 PropertySourcesPlaceholderConfigurer应该注册。使用 <context:property-placeholder> 时自动完成在 XML 中,但应注册为静态 @Bean使用 @Configuration 时.

关于spring - @Value 未注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24993766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com