javascript
java中怎么把生成文件到项目根目录_[SpringBoot2.X] 02- 项目结构介绍
POM文件
繼承
Spring Boot 的父級依賴,只有繼承它項目才是 Spring Boot 項目。
spring-boot-starter-parent 是一個特殊的 starter,
它用來提供相關(guān)的 Maven 默認(rèn)依賴。使用它之后,常用的包依賴可以省去 version 標(biāo)簽。
也就是繼承的是springboot默認(rèn)的啟動器
依賴
啟動器依賴
插件
spring-boot-maven-plugin 插件是將 springboot 的應(yīng)用程序打包成 jar 包的插件。
將所有應(yīng)用啟動運(yùn)行所需要的 jar 包都包含進(jìn)來,從邏輯上將具備了獨(dú)立運(yùn)行的條件。
當(dāng)運(yùn)行"mvn package"進(jìn)行打包后,使用"java -jar"命令就可以直接運(yùn)行。
啟動類
Spring Boot 的啟動類的作用是啟動 Spring Boot 項目
過去的方式是放在容器中啟動,而spring是內(nèi)置了容器所以是啟動springboot
是基于 Main 方法來運(yùn)行的。
注意:
啟動類在啟動時會做注解掃描(@Controller、@Service、@Repository......),
掃描位置為同包或者子包下的注解,所以啟動類的位置應(yīng)放于包的根下
SpringbootdeomApplication
springboot啟動類啟動類與啟動器區(qū)別:
啟動類
表示項目的啟動入口
啟動器
表示jar包的坐標(biāo)
啟動器
Spring Boot 將所有的功能場景都抽取出來,做成一個個的 starter(啟動器),
只需要在項目里面引入這些 starter 相關(guān)場景的所有依賴都會導(dǎo)入進(jìn)來,
要用什么功能就導(dǎo)入什么場景, 在 jar 包管理上非常方便,最終實現(xiàn)一站式開發(fā)。
Spring Boot提供了多達(dá)44個啟動器,未來仍會增加。詳見下方鏈接
所謂的啟動器就是負(fù)責(zé)支持某個模塊的jar包集合,比如說持久化操作的時候?qū)氲膉ar包依賴有好幾個,但是springboot中就歸納為一個啟動器,加載啟動器就是添加了相關(guān)模塊操作時會使用的jar包
比較核心的有:
spring-boot-starter →不用額外導(dǎo)包因為其他啟動器就包含了這個
這是Spring Boot的核心啟動器,包含了自動配置、日志和YAML。
spring-boot-starter-actuator
幫助監(jiān)控和管理應(yīng)用。
spring-boot-starter-web
支持全棧式Web開發(fā),包括Tomcat和spring webmvc.
啟動器命名規(guī)則:
spring-boot-starter-xxx
Balmy:[SpringBoot] 03- SpringBoot2.X 啟動器介紹?zhuanlan.zhihu.com配置文件
Spring Boot 提供一個名稱為 application 的全局配置文件
支持兩種格式
properteis 格式
官網(wǎng)配置下載以及腳手架搭建的項目就會自動生成,生成位置如下圖
YAML 格式
YAML 格式配置文件的擴(kuò)展名可以是 yaml 或者 yml。
基本格式要求
? 大小寫敏感
? 使用縮進(jìn)代表層級關(guān)系
? 相同的部分只出現(xiàn)一次
相同部分只能出現(xiàn)一次 :錯誤寫法
正確寫法
配置文件存放位置
? 當(dāng)前項目根目錄中
? 當(dāng)前項目根目錄下的一個/config 子目錄中
? 項目的 resources 即 classpath 根路徑中
? 項目的 resources 即 classpath 根路徑下的/config 目錄中
配置文件加載順序
不同格式的加載順序
如 果 同 一 個 目 錄 下 , 有 application.yml 也 有 application.properties
默 認(rèn) 先 讀 取 application.properties。
如果同一個配置屬性,在多個配置文件都配置了,默認(rèn)使用第 1 個讀取到的,
后面讀取 的不覆蓋前面讀取到的。
不同位置的加載順序
當(dāng)前項目根目錄下的一個/config 子目錄中(最高)
config/application.properties
config/application.yml
當(dāng)前項目根目錄中(其次)
application.properties
application.yml
項目的 resources 即 classpath 根路徑下的/config 目錄中(一般) resources/config/application.properties
resources/config/application.yml
項目的 resources 即 classpath 根路徑中(最后)
resources/application.properties
resources/application.yml
配置文件中的占位符
占位符語法
語法:${}
占位符作用
"${}"中可以獲取框架提供的方法中的值如:http://random.int 等。
?占位符可以獲取配置文件中的鍵的值賦給另一個鍵作為值。
生成隨機(jī)數(shù)
${random.value} - 類似 uuid 的隨機(jī)數(shù),沒有"-"連接
${http://random.int} - 隨機(jī)取整型范圍內(nèi)的一個值
${random.long} - 隨機(jī)取長整型范圍內(nèi)的一個值
${random.long(100,200)} - 隨機(jī)生成長整型 100-200 范圍內(nèi)的一個值
${random.uuid} - 生成一個 uuid,有短杠連接
${http://random.int(10)} - 隨機(jī)生成一個 10 以內(nèi)的數(shù)
${http://random.int(100,200)} - 隨機(jī)生成一個 100-200 范圍以內(nèi)的數(shù)
bootstrap 配置文件
bootstrap 配置文件介紹
Spring Boot 中有兩種上下文對象,
一種是 bootstrap,
另外一種是 application, → 對應(yīng)applicationContext
bootstrap 是應(yīng)用程序的父上下文
即bootstrap是application的父級對象
也就是說 bootstrap 加載優(yōu)先于 applicaton。
bootstrap
- 主要用于從額外的資源來加載配置信息
- 還可以在本地外部配置文件中解密屬性。
這兩個上下文共用一個環(huán)境,
?它是任何 Spring 應(yīng)用程序的外部屬性的來源。
→ 用法 以后在做微服務(wù)的時候
微服務(wù)的分布式配置中心 :把所有的配置文件拿出來放到遠(yuǎn)程倉庫中做一個集中式的管理
最終需要依靠bootstrap來引入實現(xiàn)
bootstrap 里面的屬性會優(yōu)先加載, 它們默認(rèn)也不能被本地相同配置覆蓋。
bootstrap 配置文件特征
? boostrap 由父 ApplicationContext 加載,比 applicaton 優(yōu)先加載。
? boostrap 里面的屬性不能被覆蓋。
bootstrap 與 application 的應(yīng)用場景
application 配置文件主要用于 Spring Boot 項目的自動化配置。
bootstrap 配置文件有以下幾個應(yīng)用場景。
? 使用 Spring Cloud Config 配置中心時,這時需要在 bootstrap 配置文件中添加連接到配置中心的配置屬性來加載外部配置中心的配置信息。
? 一些固定的不能被覆蓋的屬性。
? 一些加密/解密的場景。
總結(jié)
以上是生活随笔為你收集整理的java中怎么把生成文件到项目根目录_[SpringBoot2.X] 02- 项目结构介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate 复合主键 根据主键删
- 下一篇: java cookbook 3_Cook