spring @Value不会从application.properties文件加载值

时间:2017-04-20 21:38:32

标签: java spring annotations

我尝试使用spring @Value从application.properties文件中获取属性。但是,如果我这样做

@Service
public class FooClass {

    @Value("${abc}")
    private String var;

    public String foo() {
        System.out.println(var);
    }
}

@Configuration
public class ConfigurationReader {
    @Bean
    public FooClass fooClass()
    {
        return new FooClass();
    }
}

我将“$ {abc}”分配给var而不是属性文件中的值。任何的想法?家伙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您通过呼叫抑制自动装配

@Bean
public FooClass fooClass()
{
    return new FooClass();
}

在这里,您实际上是手动创建一个新实例,而不是使用spring创建的bean。 只需删除

即可
@Bean
public FooClass fooClass()...

检查是否已将FooClass's包添加到包扫描中,以便从@Service注释FooClass

中创建spring bean