SpringBoot中Starter的作用小结

一、官方文档对Starter的介绍

通过官方文档里面的介绍,Starter其实就是Spring针对不用的开发场景,给我们提供的“套餐”。类似于,我们去KFC吃饭,可能有些同学们是会选择自己喜欢吃的食物去下单,但是,有些同学们对饮食并没有那么挑剔,直接就去点物美价廉的香辣鸡腿堡套餐了。而这个香辣鸡腿堡套餐,就是我们今天要介绍的Starter了。

二、Starter分类

1、Spring官方给我们提供了多种Starter的选择方式,大概50多种Starter供我们可以选择。其中,根据偏应用、产品和技术,分为三大类:

  • 偏应用:Spring Boot application starters
  • 偏产品:Spring Boot production starters
  • 偏技术:Spring Boot technical starters

2、下面具体的Starter,大家可以参加官方文档中的介绍:

官方文档地址:https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters 三、以一个web开发场景为例,查看spring-boot-starter-web帮我们引入了什么

1、springboot项目中pom.xml文件中首先引入web的Starter,如下所示:

<dependency>
    <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>

2、引入完毕之后,我们发现,陆陆续续的下载了很多jar包。通过查看maven依赖,来看看项目现在有哪些jar包被引入了进来。如下所示:

通过上面的依赖图发现,web的Starter给我们提供了webmvc、web、tomcat和json的能力,那么,也就能够解释为什么我们自己没有去配置tomcat,项目却可以自己跑起来的原因了。

到此这篇关于SpringBoot中Starter的作用小结的文章就介绍到这了,更多相关SpringBoot中Starter作用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot封装自己的Starter的实现方法

    一.说明 我们在使用SpringBoot的时候常常要引入一些Starter,例如spring-boot-starter-web,官方为我们提供了几乎所有的默认配置,很好的降低了使用框架时的复杂度,所以在用xxx-starter的时候,可以不用费心去写一些繁琐的配置文件,即使必要的配置在application.properties或application.yml中配置就可以了,当你实现了一个Starter,可以在不同的项目中复用,非常方便,今天我们来编写自己的Starter以之前的短信业务为例.

  • SpringBoot启动器Starters使用及原理解析

    Starters是什么 Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包.如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了. Starters命名规则 Spring Boot官方的启动器都是以spring-boot-starter-命名的,代表了一个特定的应用类型.第三方的启动器不能以spring-boot开头命名,它们都

  • springboot自定义Starter过程解析

    自定义Starter命名规则 注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starter-{name}如 spring-boot-starter-web, Spring官方建议非官方Starter命名应遵循{name}-spring-boot-starter的格式, 如mybatis-spring-boot-starter.这里创建的项目的artifactId为helloworld-spring-boot-starter 开发Starter

  • SpringBoot如何实现starter原理详解

    1.Mybatis 自定义配置的分析 在我们自定义starter之前我们写了解一下Mybatis 是如何实现starter 在SpringBoot 引入的依赖如下: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version&

  • springboot手写一个自己的starter源码

    springboot的最强大的就是那些xxxAutoconfiguration,但是这些xxxAutoConfiguration又依赖那些starter,只有导入了这些场景启动器(starter),我们很多自动配置类才能有用,并且还会新增一些功能,这次就来一起写个简单的starter,来看看内部到底是什么原理! 脑中大概有个印象:我们要用一个场景(比如web),直接导入下图所示的依赖,但是在jar包里面去看这个,你会发现里面只有一些基本的配置文件,什么类都没有,就能够想到这个一类就类似一个公司前

  • 使用SpringBoot自定义starter的完整步骤

    前言 使用过SpringBoot的都应该知道,一个SpringBoot 项目就是由一个一个 Starter 组成的,一个 Starter 代表该项目的 SpringBoot 启动依赖,除了官方已有的 Starter,我们可以根据自己的需要自定义新的Starter. 一.自定义SpringBoot Starter 自定义Starter,首选需要实现自动化配置,而要实现自动化配置需要满足以下两个条件: (1)能够自动配置项目所需要的配置信息,也就是自动加载依赖环境: (2)能够根据项目提供的信息自动

  • SpringBoot自定义starter实例代码

    一.简介 SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入SpringBoot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能.即使是这样,SpringBoot也不能囊括我们所有的使用场景,往往我们需要自定义starter,来简化我们对SpringBoot的使用. 下面话不多说了,来一起看看详细的介绍吧 二.如何自定义starter 1.实例 如何编写自动配置 ? 我们参照@WebMvcAutoConfigurati

  • SpringBoot中Starter的作用小结

    一.官方文档对Starter的介绍 通过官方文档里面的介绍,Starter其实就是Spring针对不用的开发场景,给我们提供的"套餐".类似于,我们去KFC吃饭,可能有些同学们是会选择自己喜欢吃的食物去下单,但是,有些同学们对饮食并没有那么挑剔,直接就去点物美价廉的香辣鸡腿堡套餐了.而这个香辣鸡腿堡套餐,就是我们今天要介绍的Starter了. 二.Starter分类 1.Spring官方给我们提供了多种Starter的选择方式,大概50多种Starter供我们可以选择.其中,根据偏应用

  • SpringBoot中Dozer的使用小结

    什么是Dozer? Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射框架.说白点就是dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样. dozer是用来两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的set和get方法了. 下面我们来学习一下dozer的使用 1.添加

  • Java SpringBoot自定义starter详解

    目录 一.什么是SpringBoot starter机制 二.为什么要自定义starter ? 三.什么时候需要创建自定义starter? 四.自定义starter的开发流程(案例:为短信发送功能创建一个starter) 1.细节:命名规范 2.必须引入的依赖 3.编写相关属性类(XxxProperties):例如 SmsProperties.java 4.编写Starter项目的业务功能 5.编写自动配置类AutoConfig 6.编写spring.factories文件加载自动配置类 7.打

  • SpringBoot 中常用注解及各种注解作用

    本篇文章将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写 @RestController是@ResponseBody和@Controller的组合注解. @PathVaribale 获取url中的数据 看一个例子,如果我们需要获取Url=localhost:

  • Linux中popen函数的作用小结

    简单说一下popen()函数 函数定义 #include <stdio.h> FILE * popen(const char *command , const char *type ); int pclose(FILE *stream); 函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程.这个管道必须由pclose()函数关闭,而不是fclose()函数.pclose()函数关闭标准I/O流,等待命令执行结束,然后返回sh

  • 玩转SpringBoot中的那些连接池(小结)

    回想起前几天在部署springboot项目到正线时,线上环境要求jdk7,可项目是基于jdk8开发的,springboot也是用的springboot2以上的版本,可以说缝缝补补一整天才搞好能满足线上环境的代码,搞完后当然需要小小的了解一下背后的秘密. 好了,话不多说,我们直接进入正题. 其实切换还不算太麻烦,坑就坑在SpringBoot2切换到SpringBoot1后,默认使用的连接池发生了变化,之前做的压力测试又重新搞了一遍. 怨天尤人貌似消极了哈,小编我可是一个正能量满满的人,所以总结下自

  • SpringBoot 中实现跨域的5种方式小结

    一.为什么会出现跨域问题 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现. 同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互.所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port) 二.什么是跨域 当一个请求url的协议

  • webpack-cli在webpack打包中的作用小结

    目录 webpack & webpack-cli webpack Introduction webpack-cli 详解 Reference webpack & webpack-cli webpack Introduction webpack 是一个静态的模块化打包工具,为现代的JavaScript应用程序服务 打包 bundler:webpack可以帮助我们进行打包,所以它是一个打包工具 静态的static:将代码打包成最终的静态资源(部署到静态服务器) 模块化module:webpac

  • 如何正确控制springboot中bean的加载顺序小结篇

    1.为什么需要控制加载顺序 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能. 在一般业务场景,可能你不大关心一个bean是如何被注册进spring容器的.只需要把需要注册进容器的bean声明为@Component即可,spring会自动扫描到这个Bean完成初始化并加载到spring上下文容器. 而当你在项目启动时需要提前做一个业务的初始化工作时,或者你正在开发某个中间

  • SpringBoot中ApplicationEvent和ApplicationListener用法小结

    目录 一.开发ApplicationEvent事件 二. 开发监听器 三.推送事件 四.注解方式实现监听器 对不起大家,昨天文章里的告别说早了,这个系列还不能就这么结束. 我们前面的文章中讲解过RabbitMQ的用法,所谓MQ就是一种发布订阅模式的消息模型.在Spring中其实本身也为我们提供了一种发布订阅模式的事件处理方式,就是ApplicationEvent和 ApplicationListener,这是一种基于观察者模式实现事件监听功能.也已帮助我们完成业务逻辑的解耦,提高程序的扩展性和可

随机推荐