Spring Boot – 初学者
在引入 Spring Boot 之前,Spring Developers 过去常常在依赖管理上花费大量时间。引入 Spring Boot Starters 来解决这个问题,这样开发人员可以在实际代码上花费比依赖项更多的时间。 Spring Boot Starters 是依赖描述符,可以在 pom.xml的
使用 Starters 的优点如下:
- 通过减少开发人员的配置时间来提高生产力。
- 由于要添加的依赖项数量减少了,因此管理 POM 更容易。
- 经测试,生产就绪,并支持依赖关系配置。
- 无需记住依赖项的名称和版本。
Spring Boot Starter Data JPA 如下图所示:
org.springframework.boot
spring-boot-starter-data-jpa
这提供了所有必需的依赖项,可以在 IntelliJ IDEA 的 Maven 选项卡下看到。
在早期,开发人员过去常常包含所有这些依赖项。现在 Spring Boot Starters 为所有这些提供了一个依赖项。官方启动器遵循命名约定spring-boot-starter-* ,其中*表示应用程序类型。例如,如果我们想使用 Spring MVC 构建包含 RESTful 应用程序的 Web,我们必须使用spring-boot-starter-web依赖项。
第三方启动器
如果您想制作自己的启动器或其他第三方启动器名称,则不应以spring-boot开头,因为它是为官方 Spring Boot 启动器保留的。它可以以项目名称开头。例如,如果项目名称是gfg-code-template ,那么启动器的名称可以是gfg-code-template-spring-boot-starter 。
在这里,我们将讨论所有 3 个启动器,以下启动器由org.springframework.boot组下的 Spring Boot 提供。它们即涵盖如下:
- 应用启动器
- 生产启动器
- 技术入门
让我们以相同的顺序详细说明这些启动器,如下所示:
(A) Spring Boot 应用启动器 Name Descriptionspring-boot-starter Core starter, including auto-configuration support, logging, and YAML spring-boot-starter-activemq Starter for JMS messaging using Apache ActiveMQ spring-boot-starter-amqp Starter for using Spring AMQP and Rabbit MQ spring-boot-starter-aop Starter for aspect-oriented programming with Spring AOP and AspectJ spring-boot-starter-artemis Starter for JMS messaging using Apache Artemis spring-boot-starter-batch Starter for using Spring Batch spring-boot-starter-cache Starter for using Spring Framework’s caching support spring-boot-starter-data-cassandra Starter for using Cassandra distributed database and Spring Data Cassandra spring-boot-starter-data-cassandra-reactive Starter for using Cassandra distributed database and Spring Data Cassandra Reactive spring-boot-starter-data-couchbase Starter for using Couchbase document-oriented database and Spring Data Couchbase spring-boot-starter-data-couchbase-reactive Starter for using Couchbase document-oriented database and Spring Data Couchbase Reactive spring-boot-starter-data-elasticsearch Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch spring-boot-starter-data-jdbc Starter for using Spring Data JDBC spring-boot-starter-data-jpa Starter for using Spring Data JPA with Hibernate spring-boot-starter-data-ldap Starter for using Spring Data LDAP spring-boot-starter-data-mongodb Starter for using MongoDB document-oriented database and Spring Data MongoDB spring-boot-starter-data-mongodb-reactive Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive spring-boot-starter-data-neo4j Starter for using Neo4j graph database and Spring Data Neo4j spring-boot-starter-data-r2dbc Starter for using Spring Data R2DBC spring-boot-starter-data-redis Starter for using Redis key-value data store with Spring Data Redis and the Lettuce client spring-boot-starter-data-redis-reactive Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client spring-boot-starter-data-rest Starter for exposing Spring Data repositories over REST using Spring Data REST spring-boot-starter-freemarker Starter for building MVC web applications using FreeMarker views spring-boot-starter-groovy-templates Starter for building MVC web applications using Groovy Templates views spring-boot-starter-hateoas Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS spring-boot-starter-integration Starter for using Spring Integration spring-boot-starter-jdbc Starter for using JDBC with the HikariCP connection pool spring-boot-starter-jersey Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web spring-boot-starter-jooq Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc spring-boot-starter-json Starter for reading and writing json spring-boot-starter-jta-atomikos Starter for JTA transactions using Atomikos spring-boot-starter-mail Starter for using Java Mail and Spring Framework’s email sending support spring-boot-starter-mustache Starter for building web applications using Mustache views spring-boot-starter-oauth2-client Starter for using Spring Security’s OAuth2/OpenID Connect client features spring-boot-starter-oauth2-resource-server Starter for using Spring Security’s OAuth2 resource server features spring-boot-starter-quartz Starter for using the Quartz scheduler spring-boot-starter-rsocket Starter for building RSocket clients and servers spring-boot-starter-security Starter for using Spring Security spring-boot-starter-test Starter for testing Spring Boot applications with libraries including JUnit Jupiter, Hamcrest and Mockito spring-boot-starter-thymeleaf Starter for building MVC web applications using Thymeleaf views spring-boot-starter-validation Starter for using Java Bean Validation with Hibernate Validator spring-boot-starter-web Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container. spring-boot-starter-web-services Starter for using Spring Web Services spring-boot-starter-webflux Starter for building WebFlux applications using Spring Framework’s Reactive Web support spring-boot-starter-websocket Starter for building WebSocket applications using Spring Framework’s WebSocket support
(B) Spring Boot 生产启动器 Name Descriptionspring-boot-starter-actuator Starter for using Spring Boot’s Actuator which provides production-ready features to help you monitor and manage your application
(C) Spring Boot 技术入门 Name Descriptionspring-boot-starter-jetty Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat spring-boot-starter-log4j2 Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging spring-boot-starter-logging Starter for logging using Logback. Default logging starter spring-boot-starter-reactor-netty Starter for using Reactor Netty as the embedded reactive HTTP server. spring-boot-starter-tomcat Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web spring-boot-starter-undertow Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat