starter组件是SpringBoot四大核心功能特性之一,除此之外SpringBoot里面还有自动装配以及Actuator监控等这样一些特性,SpringBoot里面的这些特性都是简化开发配置。Starter组件的主要作用我认为有:
- Starter组件它是以功能为纬度来维护对应jar包的版本依赖的,开发者就不需要去关心这些版本冲突这种容易出错的细节
- Starter组件会把对应功能的所有的jar包依赖全部导进来,避免开发者自己去引入依赖带来的一些麻烦
- Starter组件内部集成了自动装配这样一个机制,程序依赖对应的Starter组件之后,会自动集成到Spring生态里面并且对于相关Bean的管理也是基于自动装配机制来完成的
- 依赖Starter组件之后这些组件对应的功能所需要维护的外部化配置会自动集成到SpringBoot里面我们只需要在application.properties文件里面进行维护和配置就好了,比如:Redis这样的一个Starter只需要在application.properties这个文件里面去维护,redis的连接信息就可以直接使用了
starter组件几乎完美的体现了springboot里面的约定大于配置,springboot官方提供了非常多的starter组件如:redis、mongoDB等但是官方不一定能够去维护所有的starter,所以对于不存在的starter组件第三方组件会自己去维护这样的一个starter,官方的starter和自己命名的starter最大的区别就是命名方式上:
- 官方维护的starter组件是以sprint-boot-starter开头的前缀
- 第三方维护的starter组件是以sprint-boot-starter结尾的后缀
这也是约定大于配置的一个体现