#SpringBoot入門程式 @FDDLC

凡我出品,皆屬精品發表於2020-10-15

一、建立Maven工程(無需選擇模板)

 

二、匯入依賴

1、新增父依賴:

<parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.0.5.RELEASE</version>
</parent>

2.0.5.RELEASE這個版本不是很新,但高版本容易報錯。

 

2、新增web模組的starter(有些人管它叫起步依賴):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

spring-boot-starter-web給我們們整了個Web相關jar包的大禮包,你可能用不到的jar包也一次性給你下下來。。。不過的確省心!這叫按功能引入依賴集。

 

三、編寫啟動類MySpringBootApplication.java(名字隨便取):

package cn.liuxingchang;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MySpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class);
    }
}

@SpringBootApplication用來標註一個SpringBoot應用類,main方法不一定在應用類中,比如:

MySpringBootApplication是應用類(無main方法):

package cn.liuxingchang;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MySpringBootApplication {
}

而main方法在另一個類(比如叫Main.java,名字隨意)中:

package cn.liuxingchang;

import org.springframework.boot.SpringApplication;

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

注意:SpringApplication.run(應用類.class),即run方法裡是一個SpringBoot應用類的位元組碼物件。 

 

四、編寫Controller(MyController.java):

package cn.liuxingchang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {
    @RequestMapping("/hello")
    @ResponseBody
    public String controller() {
        return "Hello SpringBoot!";
    }
}

這裡@ResponseBody的作用:無需自己編寫前端頁面,把 return 返回值作為頁面文字響應給使用者。

其實,還可以用@RestController,這一個註解就實現了@Controller+@ResponseBody這兩個註解的功能!

 

五、執行MySpringBootApplication.java中的main方法,並訪問頁面

1、啟動時可在控制檯看到一個LOGO(官方叫banner):

這個banner可以自定義哦:#SpringBoot中的彩蛋:自定義啟動時的LOGO #自定義SpringBoot的banner @FDDLC

2、在瀏覽器上訪問http://localhost:8080/,不好意思,你將看到:

給你響應了一個錯誤頁面,還好不是伺服器不存在,說明伺服器還是啟動了的。這點從日誌中也可以看出來:

上面這行日誌值得玩味,它說明了如下幾點:

a、embedded.tomcat說明SpringBoot內嵌了一個Tomcat伺服器;

b、Tomcat的http埠是8080;

c、context path是空(和"/"等效),即不用加專案名什麼的,直接訪問http://localhost:8080/即可。

再回到錯誤頁面的事。伺服器存在,但訪問不到咋辦?

訪問不到是因為我們們沒寫前端頁面呀,比如index.jsp什麼的。

不過我們們配了個Controller:

要不訪問http://localhost:8080/hello試試?

如果你看到的是上面這樣的頁面,那麼恭喜你,SpringBoot入門成功!

 


最後附上原始碼:

 

專案結構:

 

pom.xml:

<?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>

    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.0.5.RELEASE</version>
    </parent>

    <groupId>org.example</groupId>
    <artifactId>P078_HelloSpringBoot</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>


</project>

 

MyController.java:

package cn.liuxingchang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {
    @RequestMapping("/hello")
    @ResponseBody
    public String controller() {
        return "Hello SpringBoot!";
    }
}

 

MySpringBootApplication.java:

package cn.liuxingchang;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MySpringBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class);
    }
}

 

相關文章