technology-integration(二)---搭建SpringBoot框架

weixin_34378969發表於2018-08-23

SpringBoot是什麼

  兄弟,百度去吧,別來逗我了,SpringBoot都不知道什麼,那你可能開啟錯連線了,左轉www.baidu.com,不送!

為什麼要用SpringBoot

  爽啊,還能為什麼!右轉www.google.com,see you la la

建立專案

5551927-8850b7ad3ebb7a15.png
第一步

5551927-d78fdf8219b45972.png
第二步

5551927-432d9b7558c6126b.png
第三步

第三步可以先不選擇匯入jar包,注意SpringBoot的版本號!我用的是2.0.2版本

idea就是舒服,不安裝外掛也可以建立SpringBoot專案,idea天下無敵,不接受反駁,謝謝!

pom.xml

<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.viu</groupId>
    <artifactId>technology-integration</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>technology-integration</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
        <relativePath/>
    </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-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.0.RELEASE</version>
            </plugin>
        </plugins>
    </build>
</project>

 這裡引入了FastJson的jar主要是因為FastJson的效能在所有Json框架中是頂尖的。而SpringBoot預設採用的Json框架是Jackson,可以說這個框架的效能也是很優秀的,但我個人很煩的一點就是ObjectMapper這個命名,毫無感覺啊兄貴,看名字根本就不知道什麼意思,用了其他幾個json框架你會發現大多數都是JSON作為類名的字首,可Jackson愣是讓我找不到東南西北,或許是我太菜了,哈哈

專案結構圖

5551927-f103de1be173bc7b.png
image.png

第一個demo

 在controller包中新建一個DemoController類,所有的程式碼解釋都會直接寫在註釋中,方便你們理解程式碼

//標註該類為Controller類
@RestController
@RequestMapping("/demo")
public class DemoController {
    //   /demo/hello這個請求路徑只能使用Get請求
    @GetMapping("/hello")
    public String hello() {
        //返回字串到流中,
        return "this is my first demo";
    }
}

 @RestController表示該類下的所有請求方法的返回結果都直接寫入 HTTP 響應正文(ResponseBody)中,可以直接Ctrl+滑鼠左鍵進入該註解的原始碼中瞧一瞧。可以看到@RestController是由@Controller和@ResponseBody組成的,這其實就是SpringBoot框架對這兩個註解的進一步封裝,也大大體現了SpringBoot相對於Spring+SpringMVC開發的優勢。

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
    @AliasFor(
        annotation = Controller.class
    )
    String value() default "";
}

測試

 測試第一步還是先將專案執行起來

5551927-bcda34bc0257f516.png
image.png

 使用Postman進行測試(接下來的所有介面都會使用postman進行測試),選擇Get請求,輸入hello方法所對應的請求地址


5551927-d2ffa08086e6742a.png
image.png


更多文章請關注該 technology-integration全面解析專題

相關文章