我有一個彈簧啓動應用程序,有一個.yml
文件中定義的很多屬性。我正在從文件中的屬性轉移到雲中,所以爲此,我在春季的雲領事中使用了鍵/值功能。正確的方式來從彈簧雲領事加載價值/屬性
我能夠檢索從領事給定鍵的值,但我所看到記錄的唯一途徑,只有這樣,我已經能夠做到這一點是像這樣:
@Autowired
private Environment env;
@RequestMapping("/test")
String home() {
return env.getProperty("test.property");
}
這是好的和花花公子,但我仍在設置一些現有的類加載特性的老路上:
@Value("${test.property}")
String testProperty;
增加春季雲領事依賴於我的項目後,我得到新的錯誤說,所有這些屬性不能解決。我認爲這是因爲spring boot會看到consul的依賴關係,並且現在忽略了yml文件或其中的一部分。
有沒有辦法讓這些屬性從領事加載而不必更改類中的任何代碼?或者我是否需要更改這些類以遵循使用env
對象的示例?
此外,任何進一步瞭解春季雲領事如何與春季啓動爲此特定目的工作將不勝感激。關於它的文檔並不多。
如果您在Spring Cloud Config Client中使用它,那麼'@ Value'應該可以工作。 –
@ M.Deinum我不是,我正在使用Spring Cloud Consul – Seephor
這是服務器端,春天的雲領事可以很容易地與Spring雲配置集成,然後你就可以隨心所欲地獲得你想要的東西。請參閱http://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html(最後一節)。 –