我尝试使用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而不是属性文件中的值。任何的想法?家伙。提前谢谢。
答案 0 :(得分:1)
您通过呼叫抑制自动装配
@Bean
public FooClass fooClass()
{
return new FooClass();
}
在这里,您实际上是手动创建一个新实例,而不是使用spring创建的bean。 只需删除
即可@Bean
public FooClass fooClass()...
检查是否已将FooClass's
包添加到包扫描中,以便从@Service
注释FooClass