如何通过Maven项目定义一个starter
一. ConditionalOnClass注解ConditionalOnClass(name com.mysql.cj.jdbc.Driver)ConditionalOnClass 不仅可以标注在类上也可以标注在方法上。标注在类上时表示整个配置类只有在指定类存在时才会生效标注在方法上时表示只有满足条件时该 Bean 才会创建。在 Spring Boot 自动配置中通常将它标注在配置类上用于控制自动配置是否生效二. ConditionalOnBean和ConditionalOnMissingBean一般标注在方法上三. ConditionalOnPropertyConditionalOnProperty通过开关控制bean是否生效#禁用自动配置 application.ymlmy:starter:enabled: true/***1. ConditionalOnProperty对于的属性值和配置文件的value值一样的时候该bean才会生效2. matchIfMissing true 表示如果没有配置属性则默认生效matchIfMissing默认值和havingValue的值一样)3. ConditionalOnProperty通过开关控制bean是否生效*/BeanConditionalOnMissingBeanConditionalOnProperty(prefix my.starter,name enabled, havingValue true,matchIfMissing true)public MyService myService(MyProperties properties) {MyService myService new MyService();myService.setName(properties.getName());return myService;}四. 如何自定义一个starter自定义starter主要是实现某种功能然后都过maven上传到本地的仓库然后其它的项目可以引用该starter的功能。具体的实现方法如下1. 定义一个service类在该类中定义实现的逻辑。2. 通过一个配置类将service对应的bean注册到IOC容器主要的注解ConfigurationConditionalOnClass(MyService.class)BeanConditionalOnMissingBeanConditionalOnProperty(prefix my.starter,name enabled, havingValue true,matchIfMissing true)public MyService myService(MyProperties properties) {MyService myService new MyService();myService.setName(properties.getName());return myService;}3. 在resources/META-INF/spring.factories下面定义你的配置类的全路径类型org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.itcast.starter.AutoConfiguration4. pom.xml里面引入spring-boot-autoconfigure依赖5. 通过install命令发布到maven仓库6. 其它项目pom.xml里面引入对应的坐标即可五. 实例代码

相关新闻

零门槛掌握Noto Emoji:设计师与开发者的全功能字体解决方案

零门槛掌握Noto Emoji:设计师与开发者的全功能字体解决方案

零门槛掌握Noto Emoji:设计师与开发者的全功能字体解决方案 【免费下载链接】noto-emoji Noto Emoji fonts 项目地址: https://gitcode.com/gh_mirrors/no/noto-emoji 在数字化沟通中,表情符号已成为不可或缺的视觉语言。然而,不同平台…

2026/5/17 0:32:03 阅读更多 →
Java 成员变量默认值详解(重点:char 类型)

Java 成员变量默认值详解(重点:char 类型)

目录 一、核心规则 二、重点解析:char 类型的默认值 \u0000 2.1 本质定义 2.2 易混淆对比(\u0000 vs 空格 vs 空字符串 "") 2.3 代码验证(char 默认值) 输出结果 三、其他类型默认值代码验证 输出结…

2026/5/17 11:04:30 阅读更多 →
4个关键步骤解决ComfyUI ControlNet Aux模型下载难题:开源工具配置优化指南

4个关键步骤解决ComfyUI ControlNet Aux模型下载难题:开源工具配置优化指南

4个关键步骤解决ComfyUI ControlNet Aux模型下载难题:开源工具配置优化指南 【免费下载链接】comfyui_controlnet_aux 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 在使用ComfyUI ControlNet Aux插件时,模型下载往往成…

2026/7/4 4:03:24 阅读更多 →

最新新闻

JVM是什么?

JVM是什么?

JVM是什么?JVM,即Java Virtual Machine,即Java虚拟机。虚拟机是什么?模拟出一台和真实物理电脑行为几乎一样的虚拟电脑的软件。(JVM是进程虚拟机,不模拟硬件,只模拟一套自定义虚拟指令集&#x…

2026/7/4 19:43:35 阅读更多 →
Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践

Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践

Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 你是否曾为安装Linux系统而烦恼?传统命令行制作启动盘的方式复杂且容易出错&…

2026/7/4 19:43:35 阅读更多 →
Transformers.js:重新定义浏览器端AI开发的颠覆性框架

Transformers.js:重新定义浏览器端AI开发的颠覆性框架

Transformers.js:重新定义浏览器端AI开发的颠覆性框架 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https://gitcode.com…

2026/7/4 19:41:34 阅读更多 →
Codex 用户集体暴怒!Token疯狂蒸发的 5 个原因终于找到了

Codex 用户集体暴怒!Token疯狂蒸发的 5 个原因终于找到了

最近不少朋友都有一个感受,就是codex怎么消耗变快了。之前是100刀的Pro会员随便用,根本用不完(额度那个时候有翻倍)。后续发现100刀的Pro开始不够用了,甚至到最后200刀的刀Pro也开始不够用了。就在2026 年 6 月底&…

2026/7/4 19:41:34 阅读更多 →
Python简史

Python简史

Python是我喜欢的语言,简洁,优美,容易使用。前两天,我很激昂的向朋友宣传Python的好处。 听过之后,朋友问我:好吧,我承认Python不错,但它为什么叫Python呢? 我不是很确…

2026/7/4 19:39:34 阅读更多 →
米游社自动签到工具:3分钟完成配置,轻松获取游戏奖励

米游社自动签到工具:3分钟完成配置,轻松获取游戏奖励

米游社自动签到工具:3分钟完成配置,轻松获取游戏奖励 【免费下载链接】MihoyoBBSTools Womsxd/AutoMihoyoBBS,米游社相关脚本 项目地址: https://gitcode.com/gh_mirrors/mi/MihoyoBBSTools 想要每天自动完成米游社签到,获…

2026/7/4 19:39:34 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻