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