天天看點

Spring Boot學習筆記1:入門&HelloWorld

文章目錄

  • 1. Spring Boot 簡介
  • 2. 微服務簡介
  • 環境準備
    • MAVEN設定
  • 3. Spring Boot HelloWorld
    • 1. 建立一個maven工程
    • 2. 導入Spring Boot 相關的依賴
    • 3. 編寫一個主程式;啟動Spring應用
    • 4. 編寫相關的Controller和Service
    • 5. 運作主程式測試
    • 6. 簡化部署

1. Spring Boot 簡介

簡化Spring應用開發的一個架構;

整個Spring技術棧的一個大整合;

J2EE開發的一站式解決方案。

  • Spring Boot的優點:
    • 快速建立獨立運作的 Spring項目以及與主流架構內建
    • 使用嵌入式的Servlet容器,應用無需打成WAR包
    • starters自動依賴與版本控制
    • 大量的自動配置,簡化開發,也可修改預設值
    • 無需配置XML,無代碼生成,開箱即用
    • 準生産環境的運作時應用監控
    • 與雲計算的天然內建
  • 缺點:
    • 入門容易,精通難

2. 微服務簡介

Spring Boot學習筆記1:入門&HelloWorld

微服務:一種架構風格

一個應用應該是一組小型服務;可以通過HTTP的方式進行互通;把每個元素放進一個獨立的服務中。與傳統的單體應用相比像是活字印刷與雕版印刷的差別。

環境準備

MAVEN設定

我使用的時JDK1.8版本

<profile>
    <id>jdk-1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>
           

粘貼地方如下圖所示

Spring Boot學習筆記1:入門&amp;HelloWorld

3. Spring Boot HelloWorld

功能:浏覽器發送hello請求,伺服器接受請求并處理,響應Hello world宇符串

1. 建立一個maven工程

2. 導入Spring Boot 相關的依賴

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
           

3. 編寫一個主程式;啟動Spring應用

/*
 * @SpringBootApplication 來标注一個主程式類,說明這是一個spring boot應用
 */
@SpringBootApplication
public class HelloWorldApplication {

    public static void main(String[] args) {

        // Spring應用啟動起來
        SpringApplication.run(HelloWorldApplication.class,args);
    }
}
           

4. 編寫相關的Controller和Service

@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello") //接受來自浏覽器的hello請求
    public String hello(){
        return "Hello world";
    }
}
           

5. 運作主程式測試

在浏覽器位址欄輸入

localhost:8080/hello

即可看到頁面顯示Hello world。

遇到問題:提示8080端口被占

解決方法:

  1. 打開cmd指令視窗,輸入如下指令檢視所有端口和PID
netstat -ano
           
  1. 找到對應端口的PID,輸入指令找到對應的程序
tasklist | findstr "8080端口的PID碼"
           
  1. 結束該程序,再次啟動就好了
taskkill /f /t /im xxx.exe
           

使用過程中一般占用的就是ApplicationWebServer,在任務管理器裡關閉該任務即可

6. 簡化部署

<!--  這個插件,可以将應用打包成一個可執行的jar包  -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>