Part III.VI Spring Boot 官方译文 — Starters

13.2.3 使用Spring BootMaven插件

Spring Boot包含一个Maven插件 Maven plugin ,它可以把项目打包成一个可执行的jar,如果你想使用,添加这个插件到你的<plugins> 部分,像下面这个例子展示的一样:

<build>

        <plugins>

                <plugin>

                        <groupId>org.springframework.boot</groupId>

                        <artifactId>spring-boot-maven-plugin</artifactId>

                </plugin>

        </plugins>

</build>

 

 

如果你使用的Spring Boot启动程序父pom,你仅仅需要添加这个插件,不需要配置,除非你想改变父pom中定义的配置。

13.5 Starters

启动器是一组内置在你的应用程序中的方便的依赖描述,你可以获取Spring以及相关技术的一站式服务,而且不需要寻找示例代码和复制粘贴代码来家在依赖描述,例如,如果你想要使用Spring和JPA来进行数据库访问,将spring-boot-starter-data-jpa 依赖放到你的项目中

这个启动器包括许多依赖,你需要通过这些来快速启动项目并且保持运行一致,以及一组受支持的托管传递依赖项。

What’s in a name

所有官方的启动器都遵循类似的命名模式:spring-boot-starter-*, * 是表示特定应用程序的类型,这个命名结构是为了帮助你快速找到不需要的启动器,许多IDE中的Maven集成支持你通过名字搜索依赖,例如,安装了合适的Eclipse和STS,你可以在pom编辑器中ctrl-space 并输入“spring-boot-starter” 以获取更完整的列表。

正如 “Creating Your Own Starter”这一章节描述,第三方启动器不应该以 spring-boot开始,因为它是为官网SpringBoot保留的,然而,第三方启动器通常以项目名开头,例如,第三方启动器叫 thirdpartyproject ,将通常这样命名thirdpartyproject-spring-boot-starter.

下面的应用启动器被Spring Boot项目的org.springframework.boot 项目组提供:

 

表13.1 Spring Boot应用程序启动器

名称描述

spring-boot-starter

核心启动器,包括自动配置支持,日志记录和YAML

spring-boot-starter-activemq

使用Apache ActiveMQ进行JMS消息传递的启动器

spring-boot-starter-amqp

使用AMQP和RabbitMQ的启动器

spring-boot-starter-aop

使用Spring AOP和AspectJ进行面向切面编程的启动器

spring-boot-starter-cache

使用Spring Framework的缓存支持的启动器

spring-boot-starter-data-elasticsearch

使用Elasticsearch搜索和分析引擎以及Spring Data Elasticsearch的启动器

spring-boot-starter-security

使用Spring Security的启动器

spring-boot-starter-validation

使用Java Bean Validation和Hibernate Validator的启动器

spring-boot-starter-webflux

使用Spring Framework的Reactive Web支持构建WebFlux应用程序的启动器

spring-boot-starter-websocket

使用Spring Framework的WebSocket支持构建WebSocket应用程序的启动器

除了应用程序启动器,下面的启动器还可以添加生产就绪功能Iproduction ready :

Table 13.2. Spring Boot 生产启动器

最后,Spring Boot也包括下面启动器,如果你想要额外配置或者其他方面可以使用:

名字描述

spring-boot-starter-jetty

使用Jetty作为嵌入式servlet容器的启动器,可以替代Spring-boot-starter-tomcat

spring-boot-starter-log4j2

使用Log4j2的启动器,可以替代Spring-boot-starter-logging

spring-boot-starter-reactor-netty

使用Reactor Netty作为嵌入式响应式HTTP服务器

spring-boot-starter-tomcat

使用Tomcat作为嵌入式servlet容器的入门者,Spring-boot-starter-web使用的默认的servlet容器启动器

14. 构建你的代码

Spring Boot 不需要任何特定的代码结构,但是,有一些很好的实践对可能有帮助。

Part VI. 部署 Spring Boot 应用程序

Spring Boot灵活包装选项在打包应用程序的时候提供了很好的选择,你可以部署spring boot应用程序到各种云平台,容器镜像(如docker),或者虚拟/真实主机。

这一章节介绍常见的部署方案。

60. 部署到云

Spring Boot的可执行的jar适用于大多数云Paas平台,这些提供商往往要求你携带你自己的容器,他们管理应用程序进程,而不是java应用程序,因此他们需要一个中间件,使您的应用程序适应云的运行过程。

两个受欢迎的云提供商,Heroku和Cloud Foundry,采用“buildpack”方法,buildpack将你部署的代码放到你需要开始的应用程序里,它可能是JDK,和一个java,一个嵌入式的web服务器,或者一个完整应用服务器的调用,buildpack是可插拔的,但是理想状况下,您应该尽少的的自定义,减少了不受控制的功能的占用空间,它最大限度的减少了开发和生产环境之间的差异。

理想情况下,你的应用程序,像Spring Boot可执行的jar,具有运行打包它需要的所有内容。

在这一章节,我们将介绍如何在入门部分开发并在云中运行的简单应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值