0
在我的春节,启动Web服务应用程序,我想加载一个名为APPNAME在application.properties定义的值属性。春季启动WS应用程序无法加载外部属性
@Endpoint
public class RasEndpoint {
private static final String NAMESPACE_URI = "http://www.mycompany.com/schema/ras/ras-request/V1";
@Value("${appName}")
private String appName;
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getProductRequest")
@ResponsePayload
public GetProductResponse getProduct(@RequestPayload GetProductRequest request) {
System.out.println("appName: " + appName);
GetProductResponse response = generateStubbedOkResponse();
return response;
}
application.properties有以下条目
appName=ras-otc
我得到的应用程序通过主应用程序类开始如下图所示
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
然而,当我运行应用程序,我得到以下错误
产生的原因:java.lang.IllegalArgumentException异常:无法解析 占位符“应用程序名称”中的字符串值“$ {APPNAME}”
难道你们知道我做错了吗?
感谢任何帮助。
很难说。如果我不得不猜测,我可能会说你的属性文件不在类路径中(IDE可能会更新),或者你并不是真的用该主要方法启动你的应用程序。 – 2014-11-25 08:04:41
嗨戴夫,这是一个非常有效的点,你让我觉得在正确的方向。尽管Eclipse IDE已将src/main/resources添加到类路径,但排除了* .properties并导致此问题。现在它都是固定的。非常感谢您的意见。 – user2926391 2014-11-25 10:32:07