Spring Boot 基础(一)Starter

335 阅读4分钟

Spring Boot Starter 是一组方便使用的依赖描述符,在代码中引用 Starter 可以获取所需的所有 Spring 和相关技术的一站式服务,无需查看示例代码或复制粘贴依赖的库文件。譬如,如果需要使用 Spring JPA 访问数据库,可以在工程中直接引用spring-boot-starter-data-jpa

所有官方的 Starter 都遵循统一的命名规范:spring-boot-starter-*,其中*指特定的应用程序代码或名称。任何第三方提供的 Starter 都不能以spring-boot作为前缀,应以应用程序代号或名称作为前缀,如thirdpartyproject-spring-boot-starter

Spring Boot 官方提供的 Starter 包括:

  • spring-boot-starter:核心 Starter,包括支持自动配置、日志和 YAML。

  • spring-boot-starter-activemq:支持使用 Apache ActiveMQ 作为 JMS 消息服务。

  • spring-boot-starter-amqp:支持使用 Spring AMQP 和 RabbitMQ。

  • spring-boot-starter-aop:支持使用 Spring AOP 和 AspectJ 进行切面编程。

  • spring-boot-starter-artemis:支持使用 Apache Artemis 作为 JMS 消息服务。

  • spring-boot-starter-batch:支持使用 Spring Batch。

  • spring-boot-starter-cache:支持使用 Spring 框架缓存。

  • spring-boot-starter-data-cassandra:支持使用 Cassandra 分布式数据库和 Spring Data Cassandra。

  • spring-boot-starter-data-cassandra-reactive:支持使用 Cassandra 分布式数据库和 Spring Data Cassandra Reactive。

  • spring-boot-starter-data-couchbase:支持使用 Couchbase 文档数据库和 Spring Data Couchbase。

  • spring-boot-starter-data-couchbase-reactive:支持使用 Couchbase 文档数据库和 Spring Data Couchbase Reactive。

  • spring-boot-starter-data-elasticsearch:支持使用 Elasticsearch 作为搜索分析引擎和 Spring Data Elasticsearch。

  • spring-boot-starter-data-jdbc:支持使用 Spring Data JDBC。

  • spring-boot-starter-data-jpa:支持使用 Spring Data JPA 和 Hibernate。

  • spring-boot-starter-data-ldap:支持使用 Spring Data LDAP。

  • spring-boot-starter-data-mongodb:支持使用 MongoDB 文档数据库和 Spring Data MongoDB。

  • spring-boot-starter-data-mongodb-reactive:支持使用 MongoDB 文档数据库和 Spring Data MongoDB Reactive。

  • spring-boot-starter-data-neo4j:支持使用 Neo4j 图数据库和 Spring Data Neo4j。

  • spring-boot-starter-data-r2dbc:支持使用 Spring Data R2DBC。

  • spring-boot-starter-data-redis:支持使用 Redis 缓存和 Spring Data Redis、Lettuce 客户端。

  • spring-boot-starter-data-redis-reactive:支持使用 Redis 缓存和 Spring Data Redis Reactive、Lettuce 客户端。

  • spring-boot-starter-data-rest:支持使用 REST 方式暴露 Spring Data Repositories。

  • spring-boot-starter-freemarker:支持使用 FreeMarker 构建 MVC Web 应用。

  • spring-boot-starter-groovy-templates:支持使用 Groovy Templates 构建 MVC Web 应用。

  • spring-boot-starter-hateoas:支持使用 Spring MVC 和 Spring HATEOAS 构建超媒体的 RESTful Web 应用。

  • spring-boot-starter-integration:支持使用 Spring Integration。

  • spring-boot-starter-jdbc:支持使用 HikariCP 数据库连接池。

  • spring-boot-starter-jersey:支持使用 JAX-RS 和 Jersey 构建 RESTful Web 应用,替代spring-boot-starter-web

  • spring-boot-starter-jooq:支持使用 jOOQ 访问 SQL 数据库,替代spring-boot-starter-data-jpaspring-boot-starter-jdbc

  • spring-boot-starter-json:支持读写 json。

  • spring-boot-starter-jta-atomikos:启用 Atomikos 支持 JTA 事务。

  • spring-boot-starter-mail:支持使用 Java Mail 和 Spring 提供的邮件发送功能。

  • spring-boot-starter-mustache:支持使用 Mustache 构建 Web 应用。

  • spring-boot-starter-oauth2-client:支持使用 Spring Security 提供的 OAuth2/OpenID 连接客户端特性。

  • spring-boot-starter-oauth2-resource-server:支持使用 Spring Security 提供的 OAuth2 资源服务器特性。

  • spring-boot-starter-quartz:支持使用 Quartz 定时器。

  • spring-boot-starter-rsocket:支持构建 RSocket 客户端和服务器。

  • spring-boot-starter-security:支持使用 Spring Security。

  • spring-boot-starter-test:支持使用 JUnit Jupiter,Hamcrest 和 Mockito 库测试 Spring Boot 应用。

  • spring-boot-starter-thymeleaf:支持使用 Thymeleaf 构建 MVC Web 应用。

  • spring-boot-starter-validation:支持基于 Hibernate Validator 的 Java Bean 校验。

  • spring-boot-starter-web:支持使用 Spring MVC 构建 Web 应用,包括 RESTful 应用,使用 Tomcat 作为默认的嵌入式容器。

  • spring-boot-starter-web-services:支持使用 Spring Web Services。

  • spring-boot-starter-webflux:支持使用 Spring 框架的响应式 Web 支持构建 WebFlux 应用。

  • spring-boot-starter-websocket:支持使用 Spring 框架的 WebSocket 支持构建 WebSocket 应用。

  • spring-boot-starter-actuator:支持使用 Spring Boot Actuator 提供生产级别的应用程序监控和管理功能。

  • spring-boot-starter-jetty:支持使用 Jetty 作为嵌入式 Servlet 容器。

  • spring-boot-starter-log4j2:支持使用 Log4j2 记录日志。

  • spring-boot-starter-logging:支持使用 Logback 记录日志(默认)。

  • spring-boot-starter-reactor-netty:支持使用 Reactor Netty 作为嵌入式 Reactive HTTP 服务器。

  • spring-boot-starter-tomcat:支持使用 Tomcat 作为嵌入式 Servlet 容器,是spring-boot-starter-web默认支持的 Servlet 容器。

  • spring-boot-starter-undertow:支持使用 Undertow 作为嵌入式 Servlet 容器。