我的代码如下:
public class BgpService{
@Value("${serviceName}")
private String serviceName;
private String fullName = serviceName+"/rest"
}
我的config.properties
文件中确实有serviceName,值是serviceName = 10.1.1.1,但是当我使用fullName时,值是null/rest
,我希望它应该是10.1.1.1/rest
。
答案 0 :(得分:0)
您的“ BgpService”类是否被视为Spring bean?您上方是否有任何Spring注释(例如@Service或@Component)?此类是否在“组件扫描”范围内?属性仅由Spring注入到Spring bean。
您可以从另一个类的配置文件访问其他属性吗?这将显示您的属性文件是否在类路径中。
答案 1 :(得分:0)
需要检查并修复代码中的所有内容。
在您的给定代码段中,您缺少@Component&@Configuration&@PropertySource批注
@Component
@Configuration
@PropertySource("classpath:config.properties")
public class BgpService{}
您正试图在静态级别(类)上分配/使用serviceName
字段的值,因此需要将字段serviceName
定义为静态。
@Value("${serviceName}")
private static String serviceName;
并添加后构造方法,以便将值分配给另一个字段。目前,您的初始化无效。
@PostConstruct
public void init(){
fullName = serviceName+"/rest"
}