spring boot starter

文章目录

针对一个用户行为分析埋点平台的Java SDK进行封装,开发出一个Spring Boot Starter组件

为什么要对SDK封装开发starter?

  1. 集成不方便,配置不灵活:GrowingIO没有starter组件,集成起来不方便,并且需要自定义properties文件,无法在微服务架构下比较容易的与配置中心集成
  2. SDK升级带来的代码问题:sdk版本升级,和业务代码耦合,可能仍需改动,所以需要进行二次封装,采用灵活的starter的方式。
  3. 使用不友好,使用原始SDK API:值得提供简单且友好的API方便调用,屏蔽原生的java SDK API实现,

Spring Boot Starter怎么封装

  • 第1步:定义一个XXXProperties的类文件,用于抽象化原有的配置属性与增加新的属性。
  • 第2步:将核心的业务处理类,初始化核心业务处理类并注入到IOC中,通常写在XXXAutoConfiguration的类文件文件中。
  • 第3步:为了防止使用者与Starter中包名路径不一致,声明一个spring.factories的文件,来提供一种扫描类到IOC中的途径。
  • 定义一个XXXXEnable模式+@Import模式的注解,用于控制Starter是否生效与动态注册对象Bean到IOC容器中。
  • 使用很多注解,来区分当前starter组件中的先后顺序、环境区分、兼容性等等。
  • 自定义一个AOP类和一个注解,用于动态标识哪些方法进行业务埋点操作,避免一定程度上的代码侵入。
相关推荐
xieliyu.5 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
星辰徐哥5 小时前
Spring Boot 微服务架构设计与实现
spring boot·后端·微服务
星辰徐哥5 小时前
Spring Boot 数据导入导出与报表生成
spring boot·后端·ui
明夜之约5 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee5 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Micro麦可乐5 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
Jinkxs5 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
毕设源码_郑学姐5 小时前
计算机毕业设计springboot网络相册设计与实现 基于Spring Boot框架的在线相册管理系统开发与应用 Spring Boot驱动的网络影集设计与实践
spring boot·后端·课程设计
辣机小司5 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
一条小锦吕*5 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化