mica-auto 代码自动生成

mica-auto 是 Spring cloud 微服务框架 Mica 中的一个基础组件,用来生成 Spring boot starter 的一些基础配置。git


版本更新记录:https://github.com/lets-mica/mica-auto/blob/master/CHANGELOG.mdgithub

最新版本:https://mvnrepository.com/artifact/net.dreamlu/mica-autospring


使用场景

主要是用来避免 Spring boot 主项目包同 子项目或者子模块 包不一致,避免包扫描不到的问题。并发


  • 自定义 spring boot starterapp

  • 多模块项目中的子项目(不建议主项目添加 mica-auto)。框架


功能

  1. 生成 spring.factoriesmaven

  1. 生成 spring-devtools.propertieside

  1. 生成 FeignClient 到 spring.factories 中,供 mica-pro 中完成 Feign 自动化配置。微服务


使用

注意: 若是你项目中使用了 Lombok 请将 mica-auto 的依赖放置到 Lombok 后面。gradle


maven

  net.dreamlu
  mica-auto
  ${version}
  provided


gradle >= 5.x


annotationProcessor("net.dreamlu:mica-auto:${version}")


gradle < 5.x


compileOnly "net.dreamlu:mica-auto:${version}"


图示

添加依赖


图片


依赖构建

当执行 mvn package 或者 gradle build 时 就会生成相关配置。


图片



图片


原理

扫描 @Component,自动生成相应的配置,支持组合注解。


开源协议

LGPL(GNU Lesser General Public License)


LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不一样。LGPL容许商业软件经过类库引用(link)方式使用LGPL类库而不须要开源商业软件的代码。这使得采用LGPL协议的开源代码能够被商业软件做为类库引用并发布和销售。


可是若是修改LGPL协议的代码或者衍生,则全部修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。所以LGPL协议的开源代码很适合做为第三方类库被商业软件引用,但不适合但愿以LGPL协议代码为基础,经过修改和衍生的方式作二次开发的商业软件采用。

相关文章
相关标签/搜索