spring中的每个实例化类是否都从application.properties文件中加载默认变量?

问题描述 投票:0回答:1

Spring注释问题。我使用的是这样的默认值

@Service
public class MyClient{
@Value("${apikey}")
private String apikey;
    public MyClient(){}
}

我想此类的每个实例都应将application.properties文件中apikey的值初始化为默认值apikey。不是吗我问是因为实例化MyClient对象后,我发现apikey为空。

spring spring-annotations
1个回答
0
投票

您的类被注释为@Service,因此它是一个弹簧管理的bean。默认情况下,所有spring bean都是单例,因此仅在一个实例中存在。

如果尝试手动创建此bean,则@value的自动接线将不起作用,因为您绕过了弹簧初始化。

顺便说一句,将来自同一类的自管理和弹簧管理的bean混合在一起是一个坏主意。

© www.soinside.com 2019 - 2024. All rights reserved.