我有一個如下所示的控制器,添加后@Value("${code.url}") final String url,我遇到以下錯誤:
無法在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean 處決議值“${code.url}”中的占位符“code.url”
該問題顯然與閱讀code.url時的問題有關application.yml。
應用程式.yml:
code:
url: "https://www.gmail.com/"
控制器:
@RestController
@RequestMapping("/api/v1")
public class DemoController {
private final DemoService demoService;
private final Clock clock;
private final String url;
public DemoController(final DemoService demoService, final Clock clock,
@Value("${code.url}") final String url) {
this.demoService = demoService;
this.clock = clock;
this.url = url;
}
//code omitted
}
我也嘗試@RequiredArgsConstructor在控制器中使用,但沒有任何意義。那么,我該如何解決這個問題?
uj5u.com熱心網友回復:
您需要正確縮進 yaml:
code:
url: "https://www.gmail.com/"
否則url是在最高級別,財產將是url而不是code.url
uj5u.com熱心網友回復:
從改變
code:
url: "https://www.gmail.com/"
到
code:
url: "https://www.gmail.com/"
另外,請確保適當的 yml 檔案的位置和可用性,例如:

uj5u.com熱心網友回復:
將您的代碼更改為:
@RestController
@RequestMapping("/api/v1")
public class DemoController {
private final DemoService demoService;
private final Clock clock;
@Value("${code.url}")
private final String url;
public DemoController(final DemoService demoService,
final Clock clock) {
this.demoService = demoService;
this.clock = clock;
}
//code omitted
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384506.html
上一篇:在Hibernate中,如何避免N 1查詢問題和多個join導致的大結果集
下一篇:在每個端點之前攔截標頭和呼叫服務
