首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring boot 如何构建自定义的 Starter

覆盖 Classpath还可以测试当特定类和/或包在运行时不存在时会发生什么。Spring Boot 附带了一个FilteredClassLoader,运行程序可以很容易地使用它。...Starter典型的 Spring Boot 启动器包含用于自动配置和自定义给定技术基础设施的代码,我们称之为 “acme”。...例如,假设您正在为“acme”创建一个启动器,并且您将自动配置模块命名为 acme-spring-boot 和启动器acme-spring-boot-starter。...如果你只有一个将两者组合在一起的模块,请将其命名为 acme-spring-boot-starter。...Note无论哪种方式,你的 starter 都必须直接或间接地引用核心 Spring Boot starter(spring-boot-starter)(如果你的 starter 依赖于另一个 starter

20320
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何定制化Spring Boot Starter,这次我终于学会了

    文章目录 什么是Spring Boot Starter 实现步骤 启动器 自动配置包 总结自定义Starter的实现逻辑 Spring Boot Starter官网描述:Spring Boot Starter...Spring Boot Starter的工作原理是:Spring Boot在启动时扫描项目所依赖的JAR包,寻找包含spring.factories文件的JAR包,根据spring.factories配置加载...在Spring Boot官网为了简化我们的开发,已经提供了非常多场景的Starter来为我们使用,即便如此,也无法全面的满足我们实际工作中的开发场景,这时我们就需要自定义实现定制化的Starter。...xiaozhao-hello-spring-boot-starter 6.装完成后,创建新的项目来引入创建好的starter.新的的项目名为hello-test的Spring Boot初始化项目。...的实现逻辑 首先引入自定义的Starter:xiaozhao-hello-spring-boot-starter,在这个Starter中引入自定义的自动配置场景 当自动配置场景启动时,会去寻找spring.factories

    41820

    如何创建自己的 Spring Boot Starter 并为其编写单元测试

    当我们想要封装一些自定义功能给别人使用的时候,创建Spring Boot Starter的形式是最好的实现方式。...如果您还不会构建自己的Spring Boot Starter的话,本文将带你一起创建一个自己的Spring Boot Starter。 快速入门 创建一个新的 Maven 项目。...第三方封装的命名格式是 xxx-spring-boot-starter ,例如:didispace-spring-boot-starter。.../spring-boot-factories-deprecations.htm 验证测试 在制作Spring Boot Starter的时候,一定记得使用单元测试来验证和确保自动化配置类在任何条件逻辑在启动器下能够按照正确的预期运行...小结 本文介绍了两个Spring Boot的进阶内容: 如何创建 Spring Boot Starter 如何为 Spring Boot Starter 提供单元测试

    22510

    prometheus-spring-boot-starter一个管理异常通知的神奇starter

    在你的工程中的pom.xml中做如下依赖 com.kuding prometheus-spring-boot-starter...咋做的 本框架遵循spring boot starter的自动化配置规范而开发的自动化异常通知框架,在原有的单人版基础上进行了多处改进并升级成团队版,整体业务流程如下: ?...邮件通知同样也延续了原来的邮件配置,同样依赖spring-boot-starter-mail及其配置 spring: mail: host: smtp.xxx.com port: 25... spring-boot-starter-web 注解 上面讲的配置实际上是为此注解服务的,框架内唯一的注解...2、0.5.1-team这个版本默认需要依赖spring-boot-starter-web,所以在工程中配置此框架必须要引入spring-boot-starter-web,我这块还没处理好,所以对于非

    1.1K20

    Spring Boot2 系列教程(六)自定义 Spring Boot 中的 starter

    我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中。...1.核心知识 其实 Starter 的核心就是条件注解 @Conditional ,当 classpath 下存在某一个 Class 时,某个配置才会生效,前面松哥已经带大家学习过不少 Spring Boot...中的知识点,有的也涉及到源码解读,大伙可能也发现了源码解读时总是会出现条件注解,其实这就是 Starter 配置的核心之一,大伙有兴趣可以翻翻历史记录,看看松哥之前写的关于 Spring Boot 的文章...Starter 的自动化配置类即可,如下: org.springframework.boot spring-boot-autoconfigure...3.使用 Starter 接下来,我们来新建一个普通的 Spring Boot 工程,这个 Spring Boot 创建成功之后,加入我们自定义 Starter 的依赖,如下:

    51830

    开发一个属于自己的Spring Boot Starter

    关于Starter Spring Boot秉承“约定大于配置”的开发方式,使得我们基于Spring Boot开发项目的效率变得十分高。...相信使用过Spring Boot的小伙伴都会发现,当我们要用到某个Spring提供的组件时,只需要在pom.xml文件中添加该组件的starter依赖就能集成到项目中。...例如,在pom.xml文件中添加spring-boot-starter-web依赖,就能让项目整合Spring MVC的功能。...这是因为starter里已经帮我们整合了各种依赖包,避免了依赖包缺失或依赖包之间出现版本冲突等问题。...除了Spring官方提供的starter外,我们自己也可以根据业务开发一个starter。例如,当项目积累到一定程度时,我们可以将一些通用功能下沉为一个starter。

    4.8K30

    开发一个属于自己的Spring Boot Starter

    关于Starter Spring Boot秉承“约定大于配置”的开发方式,使得我们基于Spring Boot开发项目的效率变得十分高。...相信使用过Spring Boot的小伙伴都会发现,当我们要用到某个Spring提供的组件时,只需要在pom.xml文件中添加该组件的starter依赖就能集成到项目中。...例如,在pom.xml文件中添加spring-boot-starter-web依赖,就能让项目整合Spring MVC的功能。...这是因为starter里已经帮我们整合了各种依赖包,避免了依赖包缺失或依赖包之间出现版本冲突等问题, 以及完成了许多基础配置和自动装配,让我们可以在最简使用下,跳过绝大部分的配置,从而达到开箱即用的效果...这也是Spring Boot实现“约定大于配置”的核心之一。

    93031

    Spring Boot的版本历史

    随着时间的推移,Spring Boot 也不断更新迭代,下面将为您介绍 Spring Boot 的版本历史和新特性。...一、Spring Boot 版本历史Spring Boot 项目从 2013 年开始,经过多个版本迭代和功能增强,目前最新的版本是 2.6.3,其中包括许多改进和新功能。...在这个版本中,Spring Boot 主要实现了以下功能:自动配置:可以根据类路径上的依赖关系,自动配置 Spring 应用程序的各个组件和功能。...二、Spring Boot 新特性随着版本迭代,Spring Boot 不断增加新的特性和功能。...这种方式比较灵活,可以根据需要对不同的配置进行分组、继承和覆盖。全局配置的格式也比较简洁清晰,使用了 YAML 或 Properties 格式,方便开发人员使用。

    2.5K10

    ratelimiter-spring-boot-starter 开箱即用的限流器

    ratelimiter-spring-boot-starter 基于 redis 的偏业务应用的分布式限流组件,使得项目拥有分布式限流能力变得很简单。...限流的场景有很多,常说的限流一般指网关限流,控制好洪峰流量,以免打垮后方应用。这里突出偏业务应用的分布式限流的原因,是因为区别于网关限流,业务侧限流可以轻松根据业务性质做到细粒度的流量控制。...: 公司内部的短信接口,内部对接了多个第三方的短信通道,每个短信通道对流量的控制都不尽相同,假设有的第三方根据手机号和短信模板组合限流,网关限流就更不好做了 以上举例的场景,通过 ratelimiter-spring-boot-starter...可以轻松解决限流问题 github 地址:https://github.com/TapTap/ratelimiter-spring-boot-starter gitee 地址:https://gitee.com.../kailing/ratelimiter-spring-boot-starter

    46720

    聊聊spring-boot-starter-data-redis的配置变更

    序 本文主要研究一下spring-boot-starter-data-redis的配置变更 配置变更 以前是spring-boot的1.4.x版本的(spring-data-redis为1.7.x版本)...,最近切到2.0.4.RELEASEB版本(spring-data-redis为2.0.5.RELEASE版本),发现配置有变更。...新版spring-boot-starter-data-redis有几个变更如下: spring.redis底下除了公共的配置外,区分两个不同的实现: jedis及lettuce 公共配置spring.redis.timeout...的参数改为Duration类型,需要增加时间单位参数 spring-boot-starter-data-redis新版默认是使用lettuce redis连接池需要引入commons-pool2类库,由于该类库新版本的一些核心类有变动...,因此需要注意下版本号,超过2.4.3版本的可能会有问题 doc spring data redis reference

    2.6K10

    最详细的自定义Spring Boot Starter开发教程

    因此你在开发一个自定义的Spring Boot Starter的时候也最好考虑你的starter如何达到以上的便利性。 2. Spring Boot的一些约定 一个组件的设计一定要有标准和规则。...对于artifactId的命名,Spring Boot官方建议非官方的Starter命名格式遵循 xxxx-spring-boot-starter ,例如 mybatis-spring-boot-starter...官方starter会遵循spring-boot-starter-xxxx ,例如上面提到的spring-boot-starter-undertow 。...主要管理该starter的所有模块module,以及starter的所有依赖甚至sms-spring-boot-autoconfigure都由sms-spring-boot管理。...我们从应用视角来看有两种: 一种是主动生效,在starter组件集成入Spring Boot应用时需要你主动声明启用该starter才生效,即使你配置完全。

    1.9K20
    领券