minbox-projects/api-boot

项目结构疑问

Closed this issue · 2 comments

dousp commented

最近自己也想写starter,看到这个项目。
项目是不是把某个工具如ratelimit分成了starter、autoconfigure、plugin这三个模块?
aotu为啥各个工具的要聚合在一起?不在各自的实现中?
另外吐槽下,其中几个parent模块关系看的头大。。。

项目结构采用了SpringBoot的模式,
分为:

  1. plugin(集成第三方插件的基础实现)
  2. autoconfig(自动化配置,根据具体的条件进行实例化对象实例)
  3. dependencies(版本管理,统一维护ApiBoot所使用的第三方类库依赖版本)
  4. starter(具体的starter,每一个Starter都添加自身所使用的第三方依赖)

项目的parent确实有点复杂,不过base dir都为最外层的api-boot

dousp commented

嗯,刚才去看了下mybatis/spring-boot-starter,就是starter里引入了mybatis与autoconfigure.
这么看具体实现code自己单独一个模块或者插件挺好,毕竟starter是为了spring boot.
3Q!