Spring Boot速覽及在Azure上的部署
此外,隨著與雲計算,集群等技術的成本不斷下降並變得廣為流行,微服務(Micro-Service)的概念也逐漸引申出來,我們可以將微服務看作是一個小程序,這個小程序是一個基本計算單元,實現了某一功能,該小程序往往還“自包含”了Http服務器(Self-Hosting)。這些特性使得小程序可以獨立存在,部署極為方便。可以很容易的部署到各個計算節點上。說到這裏,很多人發現NodeJS非常具備開發微服務的特性,然而,有了Spring Boot,使用Java語言一樣可以方便開發出微服務,而且Java語言天生的強類型特性也使其保證了程序的健壯性。
下面給出一個簡單的基於Spring Boot的程序,該程序非常簡單,只有兩個文件,主程序Application.Java和控制器DemoController.java。
Application.java
Application.java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
DemoController.java
@RequestMapping("/hello") public String hello() { return "Hello World"; }
編譯打包生成一個可執行jar包Application.jar,然後在命令行輸入java -jar Application.jar啟動該程序。打開瀏覽器,輸入http://localhost:8080/hello即可看到該程序的輸出
可見,使用Spring Boot開發一個Web應用是多麽的便捷啊,我們無需去配置搭建http服務器,無需配置搭建Java應用容器。一個JAR包即可“闖天下”。
如果我們開發了一個微服務,並打包成JAR,我們可以將它放到雲上或者一個有網絡的本地服務器上去運行。如何放在本地服務器上運行就不再贅述了,簡言之,直接運行Java -jar XXX.jar即可實現微服務的部署。接下來我們就看看如果將這個JAR包部署到微軟的Azure雲服務上。
首先我們需要登陸到Azure去創建一個Web App。依次點擊“Create a resource”,“Web + Mobile”,“Web App”
然後填寫程序名稱,選擇訂閱賬號
創建完成後進入Web App配置界面,允許Git上傳,並設置上傳賬號
進入Application settings開啟Java支持
至此,我們完成了Web App的創建和配置,接下來我們就要開始部署我們的JAR包到雲上了。
首先我們克隆雲上的項目到本地,進入Overview,然後復制Git clone url。在命令行使用git clone http://xxx 克隆到本地。初始項目只有一個html文件和一個空的webapps目錄。
拷貝我們的JAR 包到webapps裏面,然後新建一個web.config文件在項目根目錄
復制如下內容到web.config文件
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" /> </handlers> <httpPlatform processPath="%JAVA_HOME%\bin\java.exe" arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\webapps\main.jar""> </httpPlatform> </system.webServer> </configuration>
然後使用GIT命令添加,提交到雲,至此,部署完成!接下來,我們打開瀏覽器,輸入項目的網址https://XXXX.azurewebsites.net即可訪問看到Hello World。
Spring Boot速覽及在Azure上的部署