Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新 Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从 而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发 展的快速应用开发领域(rapid application development)成为领导者。
多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依赖 管理。在去年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了这些 批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发体验。Boot 所实现的功能超出了这个任务的描述,开发人员不仅不再需要编写XML,而且在一 些场景中甚至不需要编写繁琐的import语句。在对外公开的beta版本刚刚发布之 时,Boot描述了如何使用该框架在140个字符内实现可运行的web应用,从而获得 了极大的关注度,该样例发表在tweet上。
然而,Spring Boot并不是要成为Spring IO平台里面众多 “Foundation”层项目的替代者。Spring Boot的目标不在于为已解决 的问题域提供新的解决方案,而是为平台带来另一种开发体验,从而简化对这些 已有技术的使用。对于已经熟悉Spring生态系统的开发人员来说,Boot是一个很 理想的选择,不过对于采用Spring技术的新人来说,Boot提供一种更简洁的方式 来使用这些技术。
在追求开发体验的提升方面,Spring Boot,甚至可以说整个Spring生态系统 都使用到了Groovy编程语言。Boot所提供的众多便捷功能,都是借助于Groovy强 大的MetaObject协议、可插拔的AST转换过程以及内置的依赖解决方案引擎所实现 的。在其核心的编译模型之中,Boot使用Groovy来构建工程文件,所以它可以使 用通用的导入和样板方法(如类的main方法)对类所生成的字节码进行装饰 (decorate)。这样使用Boot编写的应用就能保持非常简洁,却依然可以提供众 多的功能。
安装Boot
从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建 系统所使用。简便起见,该框架也提供了命令行界面,它可以用来运行和测试 Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以在Spring仓库 中手动下载和安装。一种更为简便的方式是使用Groovy环境管理器(Groovy enVironment Manager,GVM),它会处理Boot版本的安装和管理。Boot及其CLI可 以通过GVM的命令行gvm install springboot进行安装。在OS X上安装Boot可以使 用Homebrew包管理器。为了完成安装,首先要使用brew tap pivotal/tap切换到 Pivotal仓库中,然后执行brew install springboot命令。
要进行打包和分发的工程会依赖于像Maven或Gradle这样的构建系统。为了简 化依赖图,Boot的功能是模块化的,通过导入Boot所谓的“starter” 模块,可以将许多的依赖添加到工程之中。为了更容易地管理依赖版本和使用默 认配置,框架提供了一个parent POM,工程可以继承它。Spring Boot工程的样例 POM文件定义如程序清单1所示。
程序清单1
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>myproject</artifactId> <version>1.0.0-SNAPSHOT</version> <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.0.0.RC1</version> </parent> <!-- Add typical dependencies for a web application --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter- web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter- actuator</artifactId> </dependency> </dependencies> <repositories> <repository> <id>spring-snapshots</id> <url>http://repo.spring.io/libs-snapshot</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>http://repo.spring.io/libs-snapshot</url> </pluginRepository> </pluginRepositories> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven- plugin</artifactId> </plugin> </plugins> </build> </project>
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索框架
, 开发
, spring
, 系统 boot
, gradle
, spring boot
, 配置
, springframework
, boot
, Spring boot
Maven详解
spring boot微框架、springboot yml详解、spring boot框架搭建、spring框架详解、spring boot jpa 详解,以便于您获取更多的相关知识。