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