当前位置: 首页 > 知识库问答 >
问题:

spring boot中的@value未从Application.Properties中给出值

朱季
2023-03-14
@Configuration
public class testClass {

  @Value("${com.x.y.z.dummy.name}")
  private String name;
  @Bean
  public Helper helper(X x){
     System.out.println(this.name);
  }
        

正在添加Application.Properties:

com.x.y.z.dummy.name=localhost
com.x.y.z.dummy.host=8888

共有1个答案

鲁丰
2023-03-14

我建议在项目中搜索返回PropertySourcesPlaceHolderConfigureer的Bean。可以将该对象配置为设置一个不同的前缀,而不是“${”。

例如,在创建这个类时,我能够再现您的问题。

import org.springframework.context.annotation.Bean;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;

public class PrefixConfiguration {

    @Bean
    public static PropertySourcesPlaceholderConfigurer configure(){
        PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer
                = new PropertySourcesPlaceholderConfigurer();
        propertySourcesPlaceholderConfigurer.setPlaceholderPrefix("%{");
        propertySourcesPlaceholderConfigurer.setIgnoreUnresolvablePlaceholders(true);
        return propertySourcesPlaceholderConfigurer;
    }
}

你的Bean可能是不同的,它可能有一个很好的原因,所以不要盲目地删除它而不做进一步的调查。

 类似资料: