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協議代碼爲基礎,經過修改和衍生的方式作二次開發的商業軟件採用。

相關文章
相關標籤/搜索