不久之前,随着库数量及其依赖关系的指数增长,依赖关系管理变得非常复杂,需要大量的技术专业知识才能正确完成。通过引入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 |