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类和一个注解,用于动态标识哪些方法进行业务埋点操作,避免一定程度上的代码侵入。
相关推荐
关于不上作者榜就原神启动那件事15 分钟前
从 MDC 到 Agent:我手搓的文档路由协议,在 Spring AI Alibaba 里找到了正式实现
java·人工智能·spring·ai·agent
用户693717500138416 分钟前
了解一下 Agent Harness
android·前端·后端
swipe28 分钟前
16|(前端转全栈)前端人排查后端问题:curl、traceId、日志、MySQL、Redis 怎么用?
前端·后端·面试
亦暖筑序34 分钟前
重新认识 AgentScope-Java 2.0:ReActAgent 负责推理,HarnessAgent 负责运行
java·后端·agent
小林ixn37 分钟前
Redis 实战避坑指南:从缓存击穿到高可用,一文全搞定
redis·后端
IKUN家族38 分钟前
Spring MVC(三)
运维·服务器·spring boot·spring·servlet·java-ee
苍何41 分钟前
用 AI 做了套品牌周边,感觉能挂Shopify开卖了
后端
木井巳43 分钟前
【DFS解决floodfill算法】岛屿的最大面积
java·算法·leetcode·深度优先
用户2986985301444 分钟前
免费在线将 PDF 转为 Word:5 款好用的转换工具
人工智能·后端
newerp1 小时前
unsafe 包与底层编程
后端