1. 程式人生 > >Spring Boot 系列(1) 微服務介紹

Spring Boot 系列(1) 微服務介紹

相信做過ssh或者ssm專案的人都曾經被那些繁瑣的xml檔案所困擾,後來,隨著註解的出現,註解式開發變得越來越普及,但是有的時候,開發還是離不開xml。

Spring Boot的核心功能:
1.生產出獨立地jar檔案來執行,執行一個Spring Boot的專案,只需要通過java的命令 java -jar xx.jar即可,啟動服務的時間比傳統開發的啟動時間要快很多。
2.內嵌相應的伺服器,包括了tomcat(預設),jetty,undertow,這樣子我們就可以免去了使用war檔案進行專案部署的環節了。
3.使用了一系列的starter pom來簡化了maven的依賴載入,不再需要使用者去糾結jar版本的選擇了。
4.Spring Boot中使用yaml檔案或者properties檔案進行配置管理,大大簡化了之前的xml檔案的繁瑣配置,並且主要都是通過註解來進行開發。
5.Spring Boot 支援熱部署開發,大大提高了開發效率。

接下來我們來進行一個最簡單的Spring Boot示例:
筆者使用的是idea進行開發,所以專案的基本結構如圖所示:

這裡寫圖片描述

其中pom檔案的內容為:

<?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>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description
>
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

Spring Boot 的函式入口:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoApplication {

    @RequestMapping(value = "sayHello")
    public String sayHello(){
        return "Hello,SpringBoot!";
    }

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

執行這個應用程式之後,成功之後,控制檯會見到以下資訊:

這裡寫圖片描述