spring cloud教程之使用spring boot創建一個應用

jopen 8年前發布 | 161K 次閱讀 Spring JEE框架 Spring Boot

《7天學會spring cloud》第一天,熟悉spring boot,并使用spring boot創建一個應用。

Spring Boot是Spring團隊推出的新框架,它所使用的核心技術還是Spring框架,主要是Spring 4.x,所以如果熟悉spring 4的人,能夠更快的接受和學會這個框架。Spring boot可以看做是在spring框架基礎上再包了一層,這一層包含方便開發者進行配置管理和快速開發的模塊,以及提供了一些開箱即用的工具,比如監控等。

Spring Boot官方文檔有中文翻譯版:

https://github.com/qibaoguang/Spring-Boot-Reference-Guide

要實現一個spring boot開發環境和傳統的應用沒有區別,這里用的是:

IDE:myeclipse 10

JDK:jdk1.7

WINDOWS:mvn 3

在桌面windows環境里需要單獨安裝方便我們使用命令行進行打包和操作。Eclipse環境里也需要安裝mvn插件,當然如果使用的是myeclipse,那么自帶的mvn環境就足夠了。以下是建立spring boot helloworld應用的步驟。注意這是一個web應用,使用了嵌入式的tomcat。

1)  首選建立一個最簡單的maven工程,如下圖:

這個應用只有一個類,編寫代碼如下:

package cloud.simple.hello;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@SpringBootApplication
public class SampleController  {

    @ResponseBody
    @RequestMapping(value = "/")
    String home() {    
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }

}

@SpringBootApplication相當于@Configuration、@EnableAutoConfiguration和  @ComponentScan,你也可以同時使用這3個注解。其中@Configuration、@ComponentScan是spring框架的語法,在spring 3.x就有了,用于代碼方式創建配置信息和掃描包。@EnableAutoConfiguration是spring boot語法,表示將使用自動配置。你如果下載了spring boot源碼,就會看到spring boot實現了很多starter應用,這些starter就是一些配置信息(有點類似于docker,一組環境一種應用的概念),spring boot看到引入的starter包,就可以計算如果自動配置你的應用。

2)  配置pom.xml

這個應用不需要配置文件,寫完class后就可以直接配置pom.xml文件了,當然先配置pom.xml也一樣。Pom文件配置如下:

<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>
    <!-- spring boot基本環境 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.1.RELEASE</version>
    </parent>

    <groupId>spring.boot</groupId>
    <artifactId>cloud-simple-helloword</artifactId>
    <version>0.0.1</version>
    <packaging>jar</packaging>
    <name>cloud-simple-helloword</name>
    <dependencies>
        <!--web應用基本環境配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
            </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

pom文件配置完,你就可以運行應用了,點擊F11,或者在SampleController類右鍵“Run Java Application”就可以看到應用啟動并運行了。

此時在瀏覽器輸入 http://localhost:8080/ ,你會看到helloworld字樣,這是一個web應用,使用了嵌入式的tomcat。

在pom配置中我們僅僅使用了spring-boot-starter-web依賴,spring boot會根據此依賴下載相關jar包并初始化基本的運行環境,比如說綁定端口8080等。

spring boot封裝所有配置信息為鍵值類型,你想改變默認配置,只需要向應用傳入這個鍵值對就可以,比如我們想改變綁定端口為8081,那么你在main方法里傳入“—server.port=8081”即可,或者干脆使用:

SpringApplication.run(SampleController.class, "--server.port=8081");

3) 部署spring boot應用

要部署運行spring boot應用,首選要打包spring boot應用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot應用的。

進入工程目錄運行mvn package,如:

D:\cloud-simple-helloword>mvn package

打包過后就可以進入target目錄使用java原生命令執行這個應用了。

D:\cloud-simple-helloword\target>java -jar cloud-simple-helloword-0.0.1.jar --server.port=8081

如此,你就看到一個基于jar包的web應用啟動了。

Spring boot提供的一些開箱即用的應用非常容易使用,比如監控,你只需要在pom文件中引入:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

引入之后,spring boot是默認開啟監控的,運行應用你可以在瀏覽器中輸入:

http://localhost:8080/health

就可以看到默認的監控信息了:

{"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}

信息包括程序執行狀態以及基本的磁盤信息。

來自: http://www.cnblogs.com/skyblog/p/5127712.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!