spring boot 2.0之使用spring boot

spring boot依赖

每一个spring boot的发型版本都包含了所依赖的版本,如果升级spring boot版本,其依赖也会同步更新升级。maven的用户可以通过继承spring-boot-starter-parent。其包含了一些合理的值的设置:

1. 默认设置的编译器为JDK 1.8

2. 源文件默认UTF-8编码

3. 从spring-boot-dependencies pom中继承的 Dependency Management 版本信息,在使用的时候,可以忽略其具体的版本信息。

4. 合理的资源过滤(filter)

5. 合理的插件配置

6. 对于application.properties的合理的过滤

7. 默认的配置文件接收spring的${}表达式,maven的资源过滤符被修改为@..@,可以使用maven属性resource.delimiter进行设置更改。

实现starter-parent的方式有如下两种:

1. 继承starter-parent的配置文件如下:

<!-- Inherit defaults from Spring Boot -->
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.0.0.BUILD-SNAPSHOT</version>
</parent>

也可以在自己的pom文件中修改指定的依赖版本信息:例如要更新 Spring Data 为另一个版本。具体代码如下

<properties>
	<spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>

2. 在dependencyManagement 中加入依赖管理:如下代码所示:

<dependencyManagement>
	<dependencies>
		<!-- Override Spring Data release train provided by Spring Boot -->
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-releasetrain</artifactId>
			<version>Fowler-SR2</version>
			<scope>import</scope>
			<type>pom</type>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-dependencies</artifactId>
			<version>2.0.0.BUILD-SNAPSHOT</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

(备注:type表名导入的类型为POM,scope=import:完全导入POM的依赖)

通过使用 Maven plugin 插件将其打包为一个可执行的文件:代码如下:

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

starters

starter是应用中一系列依赖的描述,可以不用太多依赖就能获取相应的依赖包。官方给出的starter的命名方式为:spring-boot-starter-*,非官方定义的starter不应当以spring-boot-starter开始,而应当以项目工程为开始例如:thirdpartyproject-spring-boot-starter

starters的列表如下:

名称 描述
spring-boot-starter 核心starter,包含了自动配置支持,logging以及yaml
 spring-boot-starter-activemq  使用apache ACTIVEMQ的JMS处理STARTER
 spring-boot-starter-amqp  使用spring AMQP以及rabbit MQ的starter
 spring-boot-starter-aop  使用spring AOP以及APJECT J的starter
 spring-boot-starter-artemis  使用apache Artemis作为JMS的starter
 spring-boot-starter-batch  使用spring batch的starter
 spring-boot-starter-cache  支持spring framwork cache的starter
 spring-boot-starter-cloud-connectors  spring cloud connectors的连接云平台couchbase服务的连接器,像like Cloud Foundry 与Heroku
 spring-boot-starter-data-cassandra  使用cassandra分布式数据库以及Spring Data Cassandra的starter
 spring-boot-starter-data-cassandra-reactive  使用cassandra分布式数据库以及Spring Data Cassandra 反应的starter
 spring-boot-starter-data-couchbase  使用面向对象的数据库以及Spring Data Couchbase的数据库
 spring-boot-starter-data-couchbase-reactive  与前面类似
 spring-boot-starter-data-elasticsearch  使用弹性搜索以及分析引擎spring DAta Elasticsearch
 spring-boot-starter-data-jpa  使用hibernate的 spring JPA starter
 spring-boot-starter-data-ldap   Spring Data LDAP 的starter
 spring-boot-starter-data-mongodb  使用mongodb的starter
 spring-boot-starter-data-mongodb-reactive  与前面类似
 spring-boot-starter-data-neo4j  使用Neo4j graph database 与 Spring Data Neo4j的starter
 spring-boot-starter-data-redis  使用key,value存储在Data Redis的数据库
 spring-boot-starter-data-redis-reactive  与前面类似
 spring-boot-starter-data-rest  通过使用spring data rest暴露在spring data repostory。
 spring-boot-starter-data-solr  通过使用apache solr平台的starter
 spring-boot-starter-freemarker  通过使用freemarker的MVC web 应用的starter
 spring-boot-starter-groovy-templates  使用groovy template创建的MVC web应用
 spring-boot-starter-hateoas  使用Spring MVC 与 Spring HATEOAS构建的超媒体的starter
 spring-boot-starter-integration  spring 集成starter
 spring-boot-starter-jdbc  使用tomcat的jdbc的连接池链接JDBC的starter
 spring-boot-starter-jersey  使用JAX-RS 与 Jersey构建的web应用程序,也可以使用spring-boot-starter-web
 spring-boot-starter-jooq  使用jooq链接数据库的starter,其可以替换为:spring-boot-starter-jdbc或者是spring-boot-starter-data-jpa
 spring-boot-starter-json  读或者写json的starter
 spring-boot-starter-jta-atomikos  使用atomikos的JTA事务starter
 spring-boot-starter-jta-bitronix  使用bitronix的事务starter
 spring-boot-starter-jta-narayana  使用narayana的JTA事务starter
 spring-boot-starter-mail  使用jmail与spring framwork 支持的方式发送邮件
 spring-boot-starter-mustache  shiyong mustache创建对应的web应用
 spring-boot-starter-quartz  定时调用的starter
 spring-boot-starter-security  安全的starter
 spring-boot-starter-test  测试的starter
 spring-boot-starter-thymeleaf  使用thymeleaf构建MVC web应用的starter
 spring-boot-starter-validatior  通过使用hibernate验证器验证的starter
 spring-boot-starter-web  使用tomcat作为默认容器构建包括的restful,使用MVC的web应用的starter
 spring-boot-starter-web-services  使用web services的starter
 spring-boot-starter-webflux  使用 Spring Framework’s Reactive Web support支持的方式构建WebFlux 应用
 spring-boot-starter-websocket  通过使用Spring Framework’s WebSocket support构建dewebsocker的starter

通过以下starter可以监控和管理应用:

spring-boot-starter-actuator 提供生产的一些特性来进行监控和管理的starter

文档参考地址:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference

时间: 2024-09-22 03:19:01

spring boot 2.0之使用spring boot的相关文章

Spring Boot 2.0.0.M2 发布

Spring Boot 2.0.0.M2 发布了.Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务.你可通过它来选择不同的 Spring 平台.可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'. 更新内容请关注发行首页. 下载地址: Source code (zip) Source code (tar.gz) >>>[评论有礼]6月6日-30日评论每日更新的"新闻资讯和软件更新资讯",

Spring Cloud连载(3)Spring Boot简介与配置

本站小福利 点我获取阿里云优惠券 原文作者:杨大仙的程序空间 3 Spring Boot简介与配置   3.1 Spring Boot         Spring Cloud基于Spring Boot搭建,本小节将对Spring Boot作一个大致的讲解,读者知道Spring Boot作用即可. 3.1.1 Spring Boot简介         开发一个全新的项目,需要先进行开发环境的搭建,例如要确定技术框架以及版本,还要考虑各个框架之间的版本兼容问题,完成这些繁琐的工作后,还要对新项目

Spring Boot 项目构建 之 使用 Spring Boot 构建应用(Building an Application with Spring Boot)

Table of contents What you'll build What you'll need How to complete this guide Build with Gradle Build with Maven Build with Spring Tool Suite Learn what you can do with Spring Boot Create a simple web application Create an Application class Run the

Spring Security 4.0.0.RC2/3.2.6 发布

Spring Security 4.0.0.RC2 发布,此版本解决了大约 50 tickets. 主要改进: Support for enforcing Same Origin for WebSocket connections Refinements in WebSocket Configuration (SEC-2827 SEC-2833 SEC-2853 ) More intuitive HTTP Response Headers Configuration (SEC-2846) GA

spring batch 2.0以上版 本 写数据库 遇到列超位 自动插入下一条

问题描述 spring batch 2.0以上版 本 写数据库 遇到列超位 自动插入下一条 我用skip设置跳过这个错误,但是由于没有rollback,又出现了主键制约的问题,请问怎么 处理 这个问题 或者怎么设置事务的rollback 解决方案 问题解决了. org.springframework.jdbc.datasource.DataSourceTransactionManager,用这个来管理事务, 而不是org.springframework.batch.support.transac

Spring Integration 5.0.0.M5 发布

Spring Integration 的第五个里程碑版本 5.0 (5.0.0.M5)发布了.Spring Integration 能在基于 Spring 的应用中进行简单的消息通信,并通过简单的适配器与外部系统集成.这些适配器提供了一个更高级别的抽象,超越了 Spring 对远程调用.消息和调度的支持.其主要目标是在保持关注点分离的同时,为构建企业集成解决方案提供一个简单的模型,该模型对产出可维护.可测试的代码来说是必不可少的. 这个版本中有21个JIRA(和一些GitHub问题),包括错误修

spring使用spring-mvc-3.0.xsd

问题描述 spring使用spring-mvc-3.0.xsd Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [context-spring-mvc.xml] Offendi

Spring Framework 5.0 RC2 发布

Spring Framework 5.0 RC2 版本中正式将非空声明的 API 加入到标准包内,依照 JSR305 规范标准,可在注解内显示声明可空参数和返回值,在现有版本的 IntelliJ IDEA 和未来版本的 Kotlin 里都会与此保持高度兼容,各位一起来尝尝鲜吧. Spring Framework 5.0 RC2 版本更新问题清单: https://jira.spring.io/browse/SPR/fixforversion/15893/?selectedTab=com.atla

Spring Session 2.0.0.M1 发布,分布式解决方案

我很高兴地宣布Spring Session 2.0.0.M2 发布了.此版本的重点主要是确保与Spring Framework 5.0.0.RC2和Spring Data Kay-M4的兼容性.我们期望Spring Session 2.0.0.M3将拥有一个新的Java 8友好的API并支持Spring WebFlux. 完整内容请查看发行公告. 下载地址: Source code (zip) Source code (tar.gz) 版本更新内容请关注发布主页. 文章转载自 开源中国社区[ht