依赖导入问题:每个项目都需要来单独维护自己所依赖的jar包,在项目中使用到什么功能就需要引入什么样的依赖。手动导入依赖容易出错,且无法统一集中管理
配置繁琐:在引入依赖之后需要做繁杂的配置,并且这些配置是每个项目来说都是必要的,例如web.xml配置数据库连接池配置、事务配置等等。这些配置重复且繁杂,在不同的项目中需要进行多次重复开发,这在很大程度上降低了我们的开发效率
????????而在SpringBoot出现之后,它为我们提供了一个强大的功能来解决上述的两个痛点,这就是SpringBoot的starter(启动器)。
????????Spring Boot通过将我们常用的功能场景抽取出来,做成的一系列的启动器,我们只需要在项目中引入这些starter,相关的所有依赖就会全部被导入进来,并且我们可以抛弃繁杂的配置,例如:
? spring-boot-starter-web:支持全栈式的 web 开发,包括了 tomcat 和 springMVC 等 jar包
? spring-boot-starter-jpa:支持 spring 以 jpa方式操作数据库的 jar 包的集合
? spring-boot-starter-redis:支持 redis 键值存储的数据库操作
????????在导入的starter之后,SpringBoot主要帮我们完成了两件事情:
? 相关依赖的自动导入
? 相关环境的自动配置
官方启动器命名:
前缀:spring-boot-starter-
规范:spring-boot-starter-模块名
举例:spring-boot-starter-web、spring-boot-starter-jdbc
第三方启动器命名:
后缀:-spring-boot-starter
规范:模块名-spring-boot-starter
举例:mybatis-spring-boot-starter