1、首先介紹一下springboot
(1)我們平時寫簡單的微服務時,一般以spring-boot-starter-parent開始。spring-boot-starter-parent的父依賴是spring-boot-dependencies,如下圖所示:
(2)若項目分多模塊,一般引用spring-boot-dependencies pom,自定義項目parent,如下圖所示:
(3)若需自定義starter,一般是將自己項目的功能模塊加上spring-boot-starter,封裝成starter。注意需要選擇spring-boot-dependencies的某一個版本,然後在這個版本中的選擇依賴的第三方版本,這樣即可將自定義starter和springboot的版本保持兼容。
2、springcloud主要有兩大項目,spring-cloud和spring-cloud-dataflow,注意這是兩個大項目。下文沒有特別說明,springcloud單指spring-cloud。
(1)springcloud在早期版本中有spring-cloud-parent(2015年之前),依賴spring-boot-starter-parent,之後修改爲spring-cloud-starter-parent依賴spring-boot-starter-parent。
(2)springcloud的功能,不直接依賴spring-cloud-starter-parent,而是從spring-cloud-build開始。如下圖所示:
(3)spring-cloud-dependencies把springcloud的核心功能彙總在一起,所以用戶使用springcloud時,一般僅引用spring-cloud-dependencies即可,如果使用其他非核心功能模塊或僅單獨使用某一核心模塊,可引用對應的dependencies。
(4)springcloud各模塊的版本規則,和自定義springboot功能模塊基本類似。demo-parent(parent也可省略)依賴spring-cloud-build,然後開發自己的各功能模塊。如果需要額外定義starter,只要把自己開發的功能模塊組合起來定義starter即可。
3、spring-cloud共有55個項目,功能項目由43個。
12個項目 | 43個項目 |
spring-cloud-build spring-cloud-core-tests spring-cloud.github.io spring-functions-catalog |
spring-cloud-app-broker spring-cloud-bindings spring-cloud-bus spring-cloud-circuitbreaker spring-cloud-cli spring-cloud-cloudfoundry spring-cloud-commons spring-cloud-common-security-config spring-cloud-config spring-cloud-connectors spring-cloud-consul spring-cloud-contract spring-cloud-dataflow spring-cloud-dataflow-apps-plugin spring-cloud-dataflow-build spring-cloud-dataflow-common spring-cloud-dataflow-samples spring-cloud-dataflow-ui spring-cloud-deployer spring-cloud-deployer-cloudfoundry spring-cloud-deployer-kubernetes spring-cloud-deployer-local spring-cloud-function spring-cloud-gateway spring-cloud-jenkins-jobs spring-cloud-kubernetes spring-cloud-netflix spring-cloud-openfeign spring-cloud-open-service-broker spring-cloud-schema-registry spring-cloud-skipper spring-cloud-sleuth spring-cloud-static spring-cloud-stream spring-cloud-stream-binder-aws-kinesis spring-cloud-stream-binder-kafka spring-cloud-stream-binder-rabbit spring-cloud-stream-jenkins-jobs spring-cloud-stream-samples spring-cloud-stream-starters spring-cloud-task spring-cloud-vault spring-cloud-zookeeper |