簡單的介紹了Spring Boot的特性以及如何搭建一個Spring Boot項目。java
隨着動態語言的流行,Java的開發顯得格外的笨重:繁多的配置、地下的開發效率、複雜的部署流程以及第三方技術繼承難度大。web
在上面的環境下,Spring Boot應運而生。它使用「習慣優於配置」(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你無須手動進行配置)的理念讓你的項目快速運行起來。使用Spring Boot很容易建立一個獨立運行(運行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的項目,使用Spring Boot你能夠不用護着只須要不多的Spring配置。spring
1:獨立運行的Spring項目apache
Spring Boot能夠以jar包的形式獨立運行,運行一個Spring Boot項目只需經過java -jar xx.jar來運行。app
2:內嵌Servlet容器框架
Spring Boot可選擇內嵌Tomcat、Jetty或者Undertow,這樣咱們無須以war包形式部署項目。ssh
3:提供starter簡化Maven配置maven
Spring提供了一系列的starter pom來簡化Maven的以來加載。ide
4:自動配置Springspring-boot
Spring Boot會根據在類路徑中的jar包、類,爲jar包裏的類自動配置Bean,這樣會極大的減小咱們要使用的配置。
5:準生產的應用監控
Spring Boot提供基於http、ssh、telnet對運行時的項目進行監控。
6:無代碼生成和xml配置
Spring Boot不是藉助於代碼生成來實現的,而實經過條件註解來實現的,這是Spring4.x提供的新特性。
Spring4.x提倡使用Java配置和註解配置組合,而Spring Boot不須要任何xml配置便可實現Spring的全部配置。
1:快速構建項目。
2:對主流開發框架的無配置集成。
3:項目可獨立運行,無須外部依賴Servlet容器。
4:提供運行時的應用監控。
5:極大的提升了開發、部署效率。
6:與雲計算的自然集成。
1:新建Spring Initializr項目
2:填寫項目信息和選擇技術
建立完成
Spring Boot CLI時Spring Boot提供的控制檯命令工具。
下載地址:http://repo.spring.io/release/org/springframework/boot/spring-boot-cli/(可下載不一樣版本)。
下載完成後解壓並配置環境變量。配置過程和配置jdk差很少,此處再也不贅述。
建立項目:
在控制檯輸入命令:spring init --build=maven --java-version=1.8 --dependencies=web --packaging=jar --boot-version=1.3.0.M1 --groupId=con.gaof --artifactId=demo
而後會生成一個壓縮包,就是一個Spring Boot項目。壓縮包放置路徑時控制檯的當前路徑。
其實上面的兩種方式包括其餘建立Spring Boot項目的方式都僅僅是建立了一個Maven項目,只不過添加了Spring Boot的依賴而已。
咱們能夠用任意開發工具建立空的Maven項目,添加Spring Boot依賴使之成爲一個Spring Boot項目。
經過查看C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-dependencies\1.3.0.M1下的spring-boot-dependencies-1.3.0.M1.pom文件,能夠看到Spring Boot提供了那些jar包的依賴。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <groupId>com.example</groupId> 7 <artifactId>demo</artifactId> 8 <version>0.0.1-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <name>demo</name> 12 <description>Demo project for Spring Boot</description> 13 14 <parent> 15 <groupId>org.springframework.boot</groupId> 16 <artifactId>spring-boot-starter-parent</artifactId> 17 <version>2.0.1.RELEASE</version> 18 <relativePath/> <!-- lookup parent from repository --> 19 </parent> 20 21 <properties> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 24 <java.version>1.8</java.version> 25 </properties> 26 27 <dependencies> 28 <dependency> 29 <groupId>org.springframework.boot</groupId> 30 <artifactId>spring-boot-starter-web</artifactId> 31 </dependency> 32 33 <dependency> 34 <groupId>org.springframework.boot</groupId> 35 <artifactId>spring-boot-starter-test</artifactId> 36 <scope>test</scope> 37 </dependency> 38 </dependencies> 39 40 <build> 41 <plugins> 42 <plugin> 43 <groupId>org.springframework.boot</groupId> 44 <artifactId>spring-boot-maven-plugin</artifactId> 45 </plugin> 46 </plugins> 47 </build> 48 49 50 </project>
知道如何建立Spring Boot項目後,不妨如今就建立一個,看看效果。
建立完成後,在入口類中添加index方法,而後運行訪問一下。
1 package com.example.demo; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7 8 /** 9 * @RestController: 10 * 使此類成爲控制器,能夠被路徑訪問到。 11 * @SpringBootApplication: 12 * Spring Boot項目的核心註解,主要目的是開啓自動配置。 13 */ 14 @RestController 15 @SpringBootApplication 16 public class DemoApplication { 17 /** 18 * 主要做用是做爲項目啓動的入口 19 * @param args 20 */ 21 public static void main(String[] args) { 22 SpringApplication.run(DemoApplication.class, args); 23 } 24 25 @RequestMapping("/") 26 String index() { 27 return "Hello Spring Boot"; 28 } 29 }