当前位置: 首页 > news >正文

简单手写一个Spring boot starter

一,背景

在Spring Boot项目中我们经常会用到各种starter,比如常用的spring-boot-starter, spring-cloud-starter,mybatis-spring-boot-starter,  pagehelper-spring-boot-starter 等等, starter可以一次将所有需要的maven依赖引入进来,避免开发时少了依赖,特别是一些中间件,引入它的starter,基本上就可以不用再另外引入包了,比如:shardingsphere-jdbc-core-spring-boot-starter,redisson-spring-boot-starter,jasypt-spring-boot-starter,seata-spring-boot-starter等,减少了很多问题,给开发带来便利。

在日常开发中,我们可能也有需求去封装一些公用的全局的功能点,希望它引入简单,即插即用,如果日志脱敏,消息通知(比如企微或邮件通知)等,这个时候我们也可以封装一个starter,使用方引入这个starter就可以直接调用公用的方法或属性。

二,实现过程

我们以一个简单的给字符串加前缀的小功能点来说明实现starter和使用的过程

1,新建一个SpringBoot工程, 项目结构如下

2, 在pom.xml文件中引入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xxx.custom</groupId><artifactId>new-custom-spring-boot-starter</artifactId><vers
http://www.dtcms.com/a/285240.html

相关文章:

  • flask request实现两台PC之间文件传输通信
  • 华夏基金(ChinaAMC)推出全球首只人民币计价的代币化货币基金
  • AUTOSAR进阶图解==>AUTOSAR_SWS_BusMirroring
  • lombok版本过低导致@SuperBuilder注解编译无法通过(java: 类型变量数目错误; 需要3)
  • Fiddler 中文版在移动开发中的调试应用 从抓包到性能调优
  • CMSIS DSP FFT
  • Linux探秘坊-------15.线程概念与控制
  • 内容安全策略(CSP)详解:Web安全的关键防线
  • SegNet:一种用于图像分割的深度卷积编码器解码器架构
  • 简单易懂,动态分区分配算法
  • Leetcode刷题营第二十九,三十题:二叉树的中序以及后序遍历
  • mongosh 安装记录
  • ruoyi-cloud启动常见问题处理
  • set、map 比数组,json 对象的性能更好原因分析
  • Python元组(Tuple)指南
  • [RAG system] 信息检索器 | BM25 Vector | Pickle格式 | HybridRetriever重排序
  • 教资科三【信息技术】— 学科知识: 第二章(计算机系统基础)
  • 【程序地址空间】虚拟地址与页表转化
  • 自己训练大模型?MiniMind 全流程解析 (二) 监督微调SFT
  • 【Bluedroid】A2dp Sink初始化(init_sink)源码分析[2]:btif_a2dp_sink_init
  • JAVA几个注解记录
  • 【Spring AI Alibaba实战Demo】通过Spring AI Alibaba接入本地部署的大模型和线上大模型,实现流式简单对话
  • Ubuntu FTP服务搭建与配置
  • Product Hunt 每日热榜 | 2025-07-17
  • druid连接池
  • Xss-labs 靶场lever1~lever8通关练习
  • 第12章 存储类、链接和内存管理
  • window下 wsl 下怎么配置 kimi-k2 驱动 Claude Code
  • 网络通信原理
  • 订货系统能接金蝶吗是什么?