maven的作用是方便jar包的管理,所以每一个依赖都是对应着相应的一个或者一些jar包,从网上看到很多对spring-boot-starter的描述就是“这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。”没看太明白,所参与的项目上也一直没使用过,于是看了一下spring-boot-starter和spring-boot-starter-web管理的jar包才明白了两者之间的关系,是包含的关系。
看下spring-boot-starter管理的的jar包:
再看下spring-boot-starter-web管理的jar包:
可以看出spring-boot-starter-web包含了spring-boot-starter,所以使用spring-boot-starter-web就等于是有了spring-boot-starter的功能,除非只是要使用spring-boot-starter启动项目或者日志功能,而又不想引用过多的jar包时才用spring-boot-starter。
而且很多的spring-cloud-*的maven依赖中都有spring-boot-starter,例如:
spring-cloud-starter-eureka-server、spring-cloud-config-server、spring-cloud-starter-zuul等等。所以spring-cloud-starter的依赖很少使用,没必要。