maven配置文件,二、SpringBoot配置文件講解

 2023-10-30 阅读 32 评论 0

摘要:添加配置文件 java程序員使用Spring的時間都有幾年了,但是使用Spring和其他框架的結合的時候的配置文件是比較復雜的。比如你如果要添加mybatis的時候,你可能會添加一個spring-mybatis.xml的配置。但當SpringBoot出現的時候,這些都不用了,它簡化了

添加配置文件


java程序員使用Spring的時間都有幾年了,但是使用Spring和其他框架的結合的時候的配置文件是比較復雜的。比如你如果要添加mybatis的時候,你可能會添加一個spring-mybatis.xml的配置。但當SpringBoot出現的時候,這些都不用了,它簡化了很多配置,讓搭建項目變得很簡單。這一節就講講springboot的配置文件是怎么弄的。 構建一個maven項目,還有java目錄和resource目錄。resource目錄就是用來存放配置文件的。

配置文件有兩種形式

  • .properties properties結尾的配置文件跟我們傳統的配置文件一樣

  • .yml 有點類似樹形結構

首先我們先來講講* .properties 我們用idea創建springboot項目的時候,會給我們創建好一個application.properties文件,但是這個配置文件是空的。 那application.properties在項目中一般存放什么屬性嘞?使用springboot創建的項目,一般是分環境的,比如我們除了創建application.properties 還會創建下面3個文件 application-dev.properties application-test.properties application-prod.properties 這三個文件的作用是什么嘞?下表說明

application.properties這個配置文件是通用的,不管任何環境都會引用里面的配置
application-dev.propertiesdev這個配置是開發環境的配置
application-test.propertiestest這個是測試環境的配置
application-prod.propertiesprod這個是正式環境的配置

看到這個表就可以知道,他們的作用是干嘛的。 那么問題又來了 1>那我怎么知道我在開發環境用dev,在測試環境用test,在線上環境用prod? 2>那這些環境里面到底有什么區別嘞? 先解釋第一個問題: application.properties配置文件是什么環境都會用到的配置文件,可以在里面設置spring.profiles.active=dev的屬性,在啟動springboot項目的時候,就會讀取application-dev.properties的屬性了,假如你想讀取test環境的配置嘞,那就把dev改成test就ok了。

這樣的話,又有個問題了,那假如我把項目打成一個jar包,我需要同時部署到linux服務器上,我怎么設置為test嘞,這也是很簡單的。 springboot項目構建的jar包是可以用 java -jar XXX.jar 啟動的。而且他還支持在后面添加參數 java -jar XXX.jar --spring.profiles.active=test 這樣就解決問題了。可以把這些參數配置在sheell文件中,這樣就更加方便了

在解釋第二個問題: 舉個列子在dev環境中我的服務器ip是192.168.0.5,在test 我的服務器ip是192.168.0.100 在prod我的服務器ip可能是www.xxx.com 或者配置數據庫的訪問地址,肯定是每個環境都不一樣。這就是分環境的好處。

那我們怎么在程序中訪問這些屬性呢? springboot提供兩種方式訪問 1>直接在屬性上面加上@Value("${server.ip}")

2>將配置賦于給一個javabean

在需要的地方引用javabean

通過上面的兩種方式我們就能很方便的添加和獲取系統的配置

網頁測試


  • 新建控制層

上圖控制層用的注解不是@controller而是@Restcontroller,這兩個有什么區別呢? @Restcontroller包含了@controller注解和@ResponseBody注解,以前我們如果要返回一個json數據,需要在控制層的方法上加上@ResponseBody,現在用@Restcontroller就可以搞定。

  • 測試

    *.properties 和 * .yml 哪個更好用吶? 推薦使用yml progperties配置文件比較直觀,一行代表一個屬性,簡單明了,但屬性很多的時候就有點亂。 yml配置文件,層級分明,比較像java類的表達方式,即使屬性很多,也可以放在某一父類屬性下面。

總結


SpringBoot提供的配置文件,極大的提高了程序員的開發效率,不用因為添加一個屬性,浪費大量配置的時間,而且很多框架也跟SpringBoot進行了集成,這些框架的配置也可以集成到SpringBoot的配置文件中,更加的方便了。

轉載于:https://juejin.im/post/5cd44203f265da036f4e9ad0

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/164962.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息