Spring Boot(2.1.6.RELEASE)构建系统

Build Systems选择建议

强烈建议选择支持依赖关系管理的构建系统,建议您选择Maven或Gradle。Spring Boot与可以与其他构建系统(例如Ant)一起工作,但它们并没有得到特别好的支持。

依赖关系管理

Spring Boot的每个版本都提供了默认支持的依赖列表(包含可以与Spring Boot一起使用的所有spring模块以及其他第三方库类库。)。并且不需要在pom.xml文件中提供这些默认依赖项的版本,因为Spring Boot会自动管理这些依赖。当您升级Spring Boot时,这些依赖的版本也会升级到与Spring Boot一致的版本。

TIPS:如果需要,可以指定版本号来并覆盖Spring Boot的默认版本。(每个版本的Spring Boot都与Spring Framework的基本版本相关联,不建议更改Spring Framework的版本好)

Maven

Maven 可通过继承spring-boot-starter-parent 来构建spring boot项目并获取一些默认值.

  • JDK默认版本为JDK1.8
  • 编码字符集为:UTF-8
  • 继承 spring-boot-dependencies 的依赖,用可于管理公共依赖的版本。此依赖管理允许在pom文件中省略这些依赖项的标记
  • 合理的资源过滤

TIPS:yml文件接受Spring样式的占位符(${…}),Maven过滤改为使用@…@占位符。(您可以通过设置Maven属性resource.delimiter来覆盖它。)

通过继承spring-boot-starter-parent使用spring-boot

<parent> 
	<groupId> org.springframework.boot </ groupId> 
	<artifactId> spring-boot-starter-parent </ artifactId> 
	<version> 2.1.6.RELEASE < / version> 
</ parent>

不通过继承spring-boot-starter-parent使用spring-boot

不是每个人都喜欢继承spring-boot-starter-parent。比如可能需要继承本公司的父依赖,或者想明确声明所有Maven配置。

如果您不想继承spring-boot-starter-parent,可以通过使用scope=import依赖项来保持依赖管理的好处 ,如下所示:

<dependencyManagement>
	<dependencies>
		<dependency>
			<!-- Import dependency management from Spring Boot -->
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-dependencies</artifactId>
			<version>2.1.6.RELEASE</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

通过dependencyManagement继承和通过parent继承的区别:

  • parent(全部继承)spring-boot-starter-parent时项目中没有引用的依赖,仍然会从父项目中继承该依赖项。
  • dependencyManagement只声明依赖,并不实现引入,只有在子项目中引入该依赖项,并且没有指定具体版本时,才会从父项目中继承该项,version和scope都读取自父pom。另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

使用Spring Boot Maven插件

Spring Boot包含一个Maven插件,可以将项目打包为可执行jar。如果要使用它,请将插件添加到pom中,如以下示例所示:

<build> 
	<plugins> 
		<plugin> 
			<groupId> org.springframework.boot </ groupId> 
			<artifactId> spring-boot-maven-plugin </ artifactId> 
		</ plugin> 
	</ plugins> 
</ build>

Gradle

要了解如何将Spring Boot与Gradle一起使用,请参阅Spring Boot的Gradle插件的文档:Gradle使用

Spring Boot application starters

Spring Boot提供了一些快速启动项:

依赖名称功能
spring-boot-starter核心启动器,包括自动配置支持,日志记录和YAML
spring-boot-starter-activemq使用Apache ActiveMQ进行JMS消息传递的基础依赖
spring-boot-starter-amqp使用Spring AMQP和Rabbit MQ的基础依赖
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 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的基础依赖
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-redis在Spring Data Redis和Lettuce客户端上使用Redis键值数据存储的基础依赖
spring-boot-starter-data-redis-reactive使用带有Spring Data Redis被动的Redis键值数据存储和Lettuce客户端的基础依赖
spring-boot-starter-data-rest使用Spring Data REST通过REST公开Spring Data存储库的基础依赖
spring-boot-starter-data-solr在Spring Data Solr中使用Apache Solr搜索平台的基础依赖
spring-boot-starter-freemarker使用FreeMarker视图构建MVC Web应用程序的基础依赖
spring-boot-starter-groovy-templates使用Groovy模板视图构建MVC Web应用程序的基础依赖
spring-boot-starter-hateoas使用Spring MVC和Spring HATEOAS构建基于超媒体的RESTful Web应用程序的基础依赖
spring-boot-starter-integration使用Spring Integration的基础依赖
spring-boot-starter-jdbc将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-jpa或spring-boot-starter-jdbc
spring-boot-starter-json阅读和写作json的基础依赖
spring-boot-starter-jta-atomikos使用Atomikos进行JTA交易的基础依赖
spring-boot-starter-jta-bitronix使用Bitronix进行JTA事务的基础依赖
spring-boot-starter-mail使用Java Mail和Spring Framework的电子邮件发送支持的基础依赖
spring-boot-starter-mustache使用Mustache视图构建Web应用程序的基础依赖
spring-boot-starter-oauth2-client使用Spring Security的OAuth2 / OpenID Connect客户端功能的基础依赖
spring-boot-starter-oauth2-resource-server使用Spring Security的OAuth2资源服务器功能的基础依赖
spring-boot-starter-quartz使用Quartz调度程序的基础依赖
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使用Java Bean Validation和Hibernate Validator的基础依赖
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-actuator使用Spring Boot的Actuator的基础依赖,它提供生产就绪功能,帮助您监控和管理您的应用程序
spring-boot-starter-jetty使用Jetty作为嵌入式servlet容器的入门。替代spring-boot-starter-tomcat
spring-boot-starter-log4j2使用Log4j2进行日志记录的入门。替代spring-boot-starter-logging
spring-boot-starter-logging使用Logback进行日志记录的入门。默认日志启动器
spring-boot-starter-reactor-netty使用Reactor Netty作为嵌入式响应式HTTP服务器的基础依赖。
spring-boot-starter-tomcat使用Tomcat作为嵌入式servlet容器的基础依赖。使用的默认servlet容器启动器spring-boot-starter-web
spring-boot-starter-undertow使用Undertow作为嵌入式servlet容器的基础依赖。替代spring-boot-starter-tomcat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值