Spring Boot 2.x基礎(chǔ)教程之配置元數(shù)據(jù)的應(yīng)用
在使用Spring Boot開發(fā)應(yīng)用的時(shí)候,你是否有發(fā)現(xiàn)這樣的情況:自定義屬性是有高量背景的,鼠標(biāo)放上去,有一個(gè)Cannot resolve configuration property的配置警告。
如果不對(duì)于這個(gè)警告覺得煩,想要去掉,那么可以通過設(shè)置來(lái)去除:
但是,我的建議是不要去掉,因?yàn)檫@個(gè)警告正好可以通過高亮來(lái)區(qū)分你的自定義配置以及框架配置,可以讓你快速的分辨哪些是自定義的。
如果你實(shí)在想去掉,那么也不建議用上面說(shuō)的方法,而是建議通過完善配置元數(shù)據(jù)的方式來(lái)完成。所以,今天就來(lái)具體說(shuō)說(shuō)配置元數(shù)據(jù)的應(yīng)用!
啥是配置元數(shù)據(jù)?我們不妨打開一個(gè)已經(jīng)創(chuàng)建好的Spring Boot項(xiàng)目,查看一下它的Spring Boot依賴包,可以找到如下圖的一個(gè)json文件:
這里報(bào)錯(cuò)的就是配置的元數(shù)據(jù)信息。有沒有發(fā)現(xiàn)這些name的值都很熟悉?其中description是不是也很熟悉?對(duì),這些就是我們常用的Spring Boot原生配置的元數(shù)據(jù)信息。
這下知道配置元數(shù)據(jù)可以用來(lái)做啥了吧?它可以幫助IDE來(lái)完成配置聯(lián)想和配置提示的展示。
而我們自定義配置之所以會(huì)報(bào)警告,同時(shí)也沒有提示信息,就是因?yàn)闆]有這個(gè)元數(shù)據(jù)的配置文件!
配置元數(shù)據(jù)的自動(dòng)生成既然知道了原理,那么接下來(lái)我們嘗試用一下配置元數(shù)據(jù)試試!
第一步:創(chuàng)建一個(gè)配置類,定義一個(gè)自定義配置
@Data@Configuration@ConfigurationProperties(prefix = 'com.didispace')public class DidiProperties { /** * 這是一個(gè)測(cè)試配置 */ private String from;}
第二步:在pom.xml中添加自動(dòng)生成配置元數(shù)據(jù)的依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId></dependency>
第三步:mvn install下這個(gè)項(xiàng)目。
此時(shí)我們可以在工程target目錄下找到元數(shù)據(jù)文件:
同時(shí),我們?cè)谂渲梦募袊L試編寫這個(gè)自定義的配置項(xiàng)時(shí),可以看到編譯器給出了聯(lián)想和提示:
并且,編寫完配置之后,也沒有高亮警告了!
代碼示例
本文的相關(guān)例子可以查看下面?zhèn)}庫(kù)中的chapter1-4目錄:
Github:https://github.com/dyc87112/SpringBoot-Learning/
Gitee:https://gitee.com/didispace/SpringBoot-Learning/
到此這篇關(guān)于Spring Boot 2.x基礎(chǔ)教程之配置元數(shù)據(jù)的應(yīng)用的文章就介紹到這了,更多相關(guān)Spring Boot 2.x配置元數(shù)據(jù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Ajax常用封裝庫(kù)——Axios的使用2. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲3. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))4. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera5. 使用Blazor框架實(shí)現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel6. ASP.NET MVC使用Identity增刪改查用戶7. 使用Python第三方庫(kù)pygame寫個(gè)貪吃蛇小游戲8. 在服務(wù)器端的XSLT過程中的編碼問題9. Python中selenium庫(kù)的用法詳解10. 微信小程序授權(quán)登錄的最新實(shí)現(xiàn)方案詳解(2023年)
