使用planuml分析springboot、springCloud、SpringCloudAlibaba的pom依赖关系

springboot

@startuml

hide empty circle
hide empty members
skinparam shadowing false

rectangle "spring-boot-build:2.2.14.RELEASE" as bootBuild #lightgreen
rectangle "spring-boot-dependencies:2.2.14.RELEASE" as bootDependencies #lightgreen
rectangle "spring-boot-parent:2.2.14.RELEASE" as bootParent #lightgreen

rectangle "spring-boot:2.2.14.RELEASE" as bootCore #skyblue
rectangle "spring-boot-actuator:2.2.14.RELEASE" as bootActuator #skyblue
rectangle "spring-boot-starters:2.2.14.RELEASE" as bootStarters #skyblue
rectangle "spring-boot-devtools:2.2.14.RELEASE" as bootDevtools #skyblue
rectangle "..." as bootParentOther #skyblue

rectangle "spring-boot-starter:2.2.14.RELEASE" as bootStarter
rectangle "spring-boot-starter-activemq:2.2.14.RELEASE" as bootStarterActivemq  #yellow
rectangle "spring-boot-starter-aop:2.2.14.RELEASE" as bootStarterAop   #yellow
rectangle "..." as starterOther

bootBuild <|-- bootDependencies
bootDependencies <|-- bootParent

bootParent <|-- bootCore
bootParent <|-- bootActuator
bootParent <|-- bootDevtools
bootParent <|-- bootStarters
bootParent <|-- bootParentOther

bootStarters <|-- bootStarter
bootStarters <|-- bootStarterActivemq
bootStarters <|-- bootStarterAop
bootStarters <|-- starterOther

bootStarter ..> bootCore

bootStarterActivemq ..> bootStarter
bootStarterAop ..> bootStarter

@enduml

springCloud

@startuml

hide empty circle
hide empty members
skinparam shadowing false

rectangle "spring-boot-dependencies:2.2.14.RELEASE" as bootDependencies #pink
rectangle "spring-cloud-build-dependencies:2.2.14.RELEASE" as dependencies #pink

rectangle "spring-cloud-build:2.2.14.RELEASE" as build #pink
rectangle "spring-cloud-dependencies-parent:2.2.14.RELEASE" as dependenciesParent #pink

rectangle "spring-cloud-gateway-dependencies:2.2.14.RELEASE" as gatewayDependencies #lightgreen
rectangle "spring-cloud-gateway:2.2.14.RELEASE" as buildGateway #lightgreen

rectangle "spring-cloud-gateway-core:2.2.14.RELEASE" as gatewayCore
rectangle "spring-cloud-starter-gateway:2.2.14.RELEASE" as gatewayStarter #yellow
rectangle "spring-cloud-gateway-mvc:2.2.14.RELEASE" as gatewayMVC
rectangle "spring-cloud-gateway-sample:2.2.14.RELEASE" as gatewaySample
rectangle "spring-cloud-gateway-server:2.2.14.RELEASE" as gatewayServer
rectangle "spring-cloud-gateway-webflux:2.2.14.RELEASE" as gatewayWebflux

rectangle "spring-cloud-commons-dependencies:2.2.14.RELEASE" as cloudCommonsDependencies #pink
rectangle "spring-cloud-netflix-dependencies:2.2.14.RELEASE" as cloudNetflixDependencies #pink
rectangle "spring-cloud-circuitbreaker-dependencies:2.2.14.RELEASE" as cloudCircuitbreakerDependencies #pink


bootDependencies <|-- dependencies
build <|-- buildGateway
dependenciesParent <|-- gatewayDependencies
buildGateway <|-- gatewayCore
buildGateway <|-- gatewayMVC
buildGateway <|-- gatewaySample
buildGateway <|-- gatewayServer
buildGateway <|-- gatewayWebflux
buildGateway <|-- gatewayStarter

build o-- dependencies #gray
gatewayDependencies --o buildGateway  #gray
cloudCommonsDependencies --o buildGateway #gray
cloudNetflixDependencies --o buildGateway #gray
cloudCircuitbreakerDependencies --o buildGateway #gray

@enduml

SpringCloudAlibaba

@startuml

hide empty circle
hide empty members
skinparam shadowing false

rectangle "spring-cloud-build:2.3.1.RELEASE" as cloudBuild #pink
rectangle "spring-cloud-alibaba:2.2.6-SNAPSHOT" as cloudAlibaba #lightgreen
rectangle "spring-boot-dependencies:2.3.2.RELEASE" as bootDependencies #lightblue
rectangle "spring-cloud-dependencies:Hoxton.SR9" as cloudDependencies #pink
rectangle "dubbo-dependencies-bom:2.7.8" as dubboDependencies #pink

rectangle "spring-cloud-dependencies-parent:2.3.1.RELEASE" as cloudDependenciesParent #pink
rectangle "spring-cloud-alibaba-dependencies:2.2.6-SNAPSHOT" as cloudAlibabaDependencies #lightgreen
rectangle "spring-cloud-alibaba-starters:2.2.6-SNAPSHOT" as cloudAlibabaStarter #grey
rectangle "spring-cloud-starter-dubbo:2.2.6-SNAPSHOT" as starterDubbo #yellow
rectangle "spring-cloud-starter-alibaba-nacos-discovery:2.2.6-SNAPSHOT" as starterNacosDiscovery #yellow
rectangle "..." as starterOther #yellow

rectangle "spring-cloud-alibaba-examples:2.2.6-SNAPSHOT" as alibabaExamples
rectangle "nacos-config-example:2.2.6-SNAPSHOT" as nacosConfigExamples
rectangle "spring-cloud-alibaba-dubbo-examples:2.2.6-SNAPSHOT" as dubboExamples
rectangle "..." as exampleOther

cloudBuild <|-- cloudAlibaba
cloudDependenciesParent <|-- cloudAlibabaDependencies
cloudDependenciesParent <|-- cloudDependencies

cloudAlibabaDependencies --o cloudAlibaba #gray
bootDependencies --o cloudAlibaba #gray
cloudDependencies --o cloudAlibaba #gray
dubboDependencies --o cloudAlibaba #gray

cloudAlibaba  <|-- cloudAlibabaStarter
cloudAlibabaStarter <|-- starterDubbo
cloudAlibabaStarter <|-- starterNacosDiscovery
cloudAlibabaStarter <|-- starterOther
cloudAlibaba  <|-- alibabaExamples
alibabaExamples  <|-- nacosConfigExamples
alibabaExamples  <|-- dubboExamples
alibabaExamples  <|-- exampleOther

@enduml


发表评论 / Comment

用心评论~