不久之前,随着庫數量及其依賴關系的指數增長,依賴關系管理變得非常複雜,需要大量的技術專業知識才能正确完成。通過引入String啟動啟動程式模闆,如果要在項目中使用任何流行的庫,可以在識别項目中使用的正确依賴項方面獲得很多幫助。
Spring Boot附帶了50多個不同的入門子產品,為許多不同的架構提供了現成的內建庫,例如關系和NoSQL的資料庫連接配接,Web服務,社交網絡內建,監控庫,日志記錄,模闆渲染,清單一直在繼續。
初學者模闆如何工作?
Spring Boot啟動器是包含啟動特定功能所需的所有相關傳遞依賴關系的集合的模闆。每個啟動器都有一個特殊檔案,其中包含Spring提供的所有提供的依賴項的清單。
這些檔案可以在模闆項目的/ resources / META-INF檔案夾中找到,檔案名是spring.provides。
例如
可以在github上找到spring-boot-starter-data-jpa啟動程式模闆的提供檔案。[備注:已經找不到了,需要切換到 commit 270acd4636175a3e1476f389e2ca4d98c6dcd028 以前才可以看到]
provides: spring-orm,hibernate-entity-manager,spring-data-jpa
這告訴我們通過在建構中包含spring-boot-starter-data-jpa作為依賴項,我們将自動獲得spring-orm,hibernate-entity-manager和spring-data-jpa。這些庫将為我們提供開始編寫JPA / DAO代碼的所有基本知識。
是以,下次當您想要為項目提供任何特定功能時,我建議您檢查現有的入門模闆,看看是否可以直接使用它。正在進行的社群添加總是在,是以這個清單已經在增長,你也可以為它做出貢獻。
流行的模闆及其傳遞依賴
我列出了一些非常頻繁使用的 spring-boot 模闆以及它們帶來的依賴關系,僅供參考。
STARTER | DEPENDENCIES |
---|---|
spring-boot-starter | spring-boot, spring-context, spring-beans |
spring-boot-starter-jersey | jersey-container-servlet-core, jersey-container-servlet, jersey-server |
spring-boot-starter-actuator | spring-boot-actuator, micrometer-core |
spring-boot-starter-aop | spring-aop, aspectjrt, aspectjweaver |
spring-boot-starter-data-rest | spring-hateoas, spring-data-rest-webmvc |
spring-boot-starter-hateoas | spring-hateoas |
spring-boot-starter-logging | logback-classic, jcl-over-slf4j, jul-to-slf4j |
spring-boot-starter-log4j2 | log4j2, log4j-slf4j-impl |
spring-boot-starter-security | spring-security-web, spring-security-config |
spring-boot-starter-test | spring-test, spring-boot,junit,mockito, hamcrest-library, assertj, jsonassert, json-path |
spring-boot-starter-web-services | spring-ws-core |