1. 程式人生 > >初識Spring Boot

初識Spring Boot

web for 控制臺 plugins dem isp .so 新特性 ide

概述

    簡單的介紹了Spring Boot的特性以及如何搭建一個Spring Boot項目。


什麽是Spring Boot

    隨著動態語言的流行,Java的開發顯得格外的笨重:繁多的配置、地下的開發效率、復雜的部署流程以及第三方技術繼承難度大。

    在上面的環境下,Spring Boot應運而生。它使用“習慣優於配置”(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你無須手動進行配置)的理念讓你的項目快速運行起來。使用Spring Boot很容易創建一個獨立運行(運行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的項目,使用Spring Boot你可以不用護著只需要很少的Spring配置。

Spring Boot核心功能

    1:獨立運行的Spring項目

        Spring Boot可以以jar包的形式獨立運行,運行一個Spring Boot項目只需通過java -jar xx.jar來運行。

    2:內嵌Servlet容器

        Spring Boot可選擇內嵌Tomcat、Jetty或者Undertow,這樣我們無須以war包形式部署項目。

    3:提供starter簡化Maven配置

        Spring提供了一系列的starter pom來簡化Maven的以來加載。

    4:自動配置Spring

        Spring Boot會根據在類路徑中的jar包、類,為jar包裏的類自動配置Bean,這樣會極大的減少我們要使用的配置。

    5:準生產的應用監控

        Spring Boot提供基於http、ssh、telnet對運行時的項目進行監控。

    6:無代碼生成和xml配置

        Spring Boot不是借助於代碼生成來實現的,而實通過條件註解來實現的,這是Spring4.x提供的新特性。

        Spring4.x提倡使用Java配置和註解配置組合,而Spring Boot不需要任何xml配置即可實現Spring的所有配置。

Spring Boot的優點

    1:快速構建項目。

    2:對主流開發框架的無配置集成。

    3:項目可獨立運行,無須外部依賴Servlet容器。

    4:提供運行時的應用監控。

    5:極大的提高了開發、部署效率。

    6:與雲計算的天然集成。

使用IDEA創建一個Spring Boot項目

    1:新建Spring Initializr項目

技術分享圖片

    2:填寫項目信息和選擇技術

技術分享圖片

技術分享圖片

    創建完成

技術分享圖片

Spring Boot CLI

    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項目

    其實上面的兩種方式包括其他創建Spring Boot項目的方式都僅僅是創建了一個Maven項目,只不過添加了Spring Boot的依賴而已。

    我們可以用任意開發工具創建空的Maven項目,添加Spring Boot依賴使之成為一個Spring Boot項目。

技術分享圖片
 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>
pom.xml

一個簡單的小例子

    知道如何創建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 }
Demo

技術分享圖片

初識Spring Boot