使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。
您可以使用 Spring Boot 来创建一个可以使用 java -jar 命令来运行或者基于传统的 war 包部署的应用程序。我们还提供了一个用于运行 spring scripts 的命令行工具。
我们的主要目标是:
要创建可执行 jar,我们需要将 spring-boot-maven-plugin 添加到 pom.xml 文件中。在 dependencies 下方插入以下配置:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Maven 用户可以继承 spring-boot-starter-parent 项目以获取合适的默认值,父项目提供了以下功能:
要将项目配置继承 spring-boot-starter-parent,只需要按以下方式设置 parent:
<!-- 从 Spring Boot 继承默认配置 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
Starter 是一组惯例依赖描述资源,可以包含在应用中。从 starter 中,您可以获得所需的所有 Spring 和相关技术的一站式支持,无须通过示例代码和复制粘贴来获取依赖。比如,如果您要使用 Spring 和 JPA 进行数据库访问,那么只需要在项目中包含 spring-boot-starter-data-jpa 依赖项即可。
Spring Boot 在 org.springframework.boot group 下提供了以下应用 starter:
名称 | 描述 |
---|---|
spring-boot-starter | 核心 starter,包含自动配置支持、日志和 YAML |
spring-boot-starter-activemq | 提供 JMS 消息支持,使用 Apache ActiveMQ |
spring-boot-starter-amqp | 提供 Spring AMQP 与 Rabbit MQ 支持 |
spring-boot-starter-aop | 提供 Spring AOP 与 AspectJ 面向切面编程支持 |
spring-boot-starter-artemis | 提供 JMS 消息服务支持,使用 Apache Artemis |
spring-boot-starter-batch | 提供 Spring Batch 支持 |
spring-boot-starter-cache | 提供 Spring Framework 缓存支持 |
spring-boot-starter-cloud-connectors | 使用 Spring Cloud Connectors 简单连接到类似 Cloud Foundry 和 Heroku 等云平台 |
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 的支持 |
pring-boot-starter-data-couchbase-reactive | 提供对 Couchbase 面向文档数据库和 Spring Data Couchbase Reactive 的支持 |
spring-boot-starter-data-elasticsearch | 提供对 Elasticseach 搜索与分析引擎和 Spring Data Elasticsearch 的支持 |
spring-boot-starter-data-jpa | 供 Spring Data JPA 与 Hibernate 的支持 |
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-redis | 提供对 Redis 键值数据存储、Spring Data Redis 和 Lettuce 客户端的支持 |
spring-boot-starter-data-redis-reactive | 提供对 Redis 键值数据存储、Spring Data Redis Reactive 和 Lettuce 客户端的支持 |
spring-boot-starter-data-rest | 提供使用 Spring Data REST 通过 REST 暴露 Spring Data 资源库的支持 |
spring-boot-starter-freemarker | 提供使用 Freemakrer 视图构建 MVC web 应用的支持 |
spring-boot-starter-jdbc | 提供 JDBC 与 Tomcat JDBC 连接池的支持 |
spring-boot-starter-json | 提供了读写 json 的支持 |
spring-boot-starter-mail | 提供使用 Java Mail 与 Spring Framework 的邮件发送支持 |
spring-boot-starter-security | Spring Security 支持 |
spring-boot-starter-test | 供包含了 JUnit、Hamcrest 与 Mockito 类库的 Spring Boot 单元测试支持 |
spring-boot-starter-thymeleaf | 提供使用 Thymeleaf 视图构建 MVC web 应用的支持 |
spring-boot-starter-validation | 提供 Hibernate Validator 与 Java Bean Validation 的支持 |
spring-boot-starter-web | 提供使用 Spring MVC 构建 web(包含 RESTful)应用的支持,使用 Tomcat 作为默认嵌入式容器 |
spring-boot-starter-web-services | Spring Web Services 支持 |
spring-boot-starter-webflux | 提供使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用的支持 |
spring-boot-starter-websocket | 提供使用 Spring Framework 的 WebSocket 支持构建 WebSocket 应用的支持 |
名称 | 描述 |
---|---|
spring-boot-starter-jetty | 使用 Jetty 作为嵌入式 servlet 容器。可代替 spring-boot-starter-tomcat |
spring-boot-starter-log4j2 | 使用 Log4j2 作为日志组件。可代替 spring-boot-starter-logging |
spring-boot-starter-logging | 使用 Logback 作为日志组件,此 starter 为默认的日志 starter |
spring-boot-starter-reactor-netty | 使用 Reactor Netty 作为内嵌响应式 HTTP 服务器 |
spring-boot-starter-tomcat | 使用 Tomcat 作为嵌入式 servlet 容器,此为 spring-boot-starter-web 默认的 servlet 容器 starter |
spring-boot-starter-undertow | 使用 Undertow 作为嵌入式 servlet 容器,可代替 spring-boot-starter-tomcat |
原文:https://www.cnblogs.com/javawenjun/p/14864183.html