首页 > 其他分享 >如何理解Spring Boot中的Starters,以及Starter的工作原理

如何理解Spring Boot中的Starters,以及Starter的工作原理

时间:2023-09-11 21:56:38浏览次数:36  
标签:Spring 配置 Boot Starters spring Starter

如何理解Spring Boot中的Starters

Starters可以理解为启动器,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。

Starter的工作原理:

Spring Boot 在启动的时候会干这几件事情:

  1. Spring Boot 在启动时会去依赖的 Starter 包中寻找 resources/META-INF/spring.factories 文件,然后根据文件中配置的 Jar 包去扫描项目所依赖的 Jar 包。

  2. 根据 spring.factories 配置加载 AutoConfigure 类

  3. 根据 @Conditional 注解的条件,进行自动配置并将 Bean 注入 Spring Context
    总结一下,其实就是 Spring Boot 在启动的时候,按照约定去读取 Spring Boot Starter 的配置信息,再根据配置信息对资源进行初始化,并注入到 Spring 容器中。这样 Spring Boot 启动完毕后,就已经准备好了一切资源,使用过程中直接注入对应 Bean 资源即可

标签:Spring,配置,Boot,Starters,spring,Starter
From: https://www.cnblogs.com/xiuer211/p/17694629.html

相关文章

  • Spring 循环依赖解决方案
    Spring解决循环依赖的思路与代码实现(qq.com)一文详解SpringBean循环依赖(qq.com)Spring循环依赖解决方案(qq.com)结论先说结论,Spring是通过三级缓存和提前曝光的机制来解决循环依赖的问题。两个BeanA,B互相引用循环依赖,Spring的解决过程如下:通过构建函数创建A对象(A对......
  • SpringMVC 工作原理了解吗?
    request发送给dispatcherservletdispa~根据handlermapping找到handlerAdapterhandlerAdapter调用handler处理,返回modelandview给dispa~dispa将modelandview发送给视图解析器解析为逻辑view并返回给dispadispa~根据逻辑的view对象找到真正的view对象并且用真正的v......
  • 简单介绍 Spring MVC 的核心组件
    DispatcherServlet和九大组件(按使用顺序排序的):组件说明DispatcherServletSpringMVC的核心组件,是请求的入口,负责协调各个组件工作MultipartResolver内容类型(Content-Type)为multipart/*的请求的解析器,例如解析处理文件上传的请求,便于获取参数信息以及上传的......
  • Spring 事务
    Spring事务实现方式有哪些编程式优点:灵活缺点:麻烦,难以维护声明式加注解Spring的事务管理有什么优点支持声明式事务管理提供跨不同事务api的一致事务模型传播规则借用别人的的图片方便记忆支持当前事务的“女生”,这里的事务指的是“房子”,它分为3种(普通型......
  • SSM SpringBoot vue快递柜管理系统
    SSMSpringBootvue快递柜管理系统系统功能登录注册个人中心快递员管理用户信息管理 用户寄件管理配送信息管理寄存信息管理开发环境和技术开发语言:Java使用框架:SSM(Spring+SpringMVC+Mybaits)或SpringBoot前端:vue数据库:Mysql架构:B/S源码类型......
  • Spring中@Autowired、@Qualifier、@Resource、@Primary、@Inject注解的区别
       @Primary注解在Spring框架中用于解决自动装配冲突。当存在多个类型相同的Bean时,如果没有使用@Qualifier注解或者@Qualifier注解没有指定Bean的名称,Spring框架将无法判断应该使用哪个Bean进行注入。此时,可以使用@Primary注解来指定默认的Bean。被@Primary注解的Bean会优......
  • spring和springboot注解的使用
    spring和springboot注解的使用首先看一下ElementType取值范围://用于描述类、接口(包括注解类型)或enum声明TYPE,//用于描述域FIELD,//用于描述方法METHOD,//用于描述参数PARAMETER, //用于描述构造器CONSTRUCTOR,//用于描述局部变量......
  • SpringBoot-Learning系列之Kafka整合
    SpringBoot-Learning系列之Kafka整合本系列是一个独立的SpringBoot学习系列,本着WhatWhyHow的思想去整合Java开发领域各种组件。消息系统主要应用场景流量消峰(秒杀抢购)、应用解耦(核心业务与非核心业务之间的解耦)异步处理、顺序处理实时数据传输管道异构语言架构......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号如......
  • SpringBoot集成微信支付JSAPIV3保姆教程
    前言最近为一个公众号h5商城接入了微信支付功能,查找资料过程中踩了很多坑,以此文章记录一下和大家分享前期准备公众号认证微信支付功能需要开通企业号并进行资质认证,费用一年300,且需企业营业执照等信息,对公账户打款验证登录微信公众平台https://mp.weixin.qq.com/,创建服务号......