1. 程式人生 > >SpringBoot(一)--初體驗

SpringBoot(一)--初體驗

一、簡介

SpringBoot是什麼?

SpringBoot是新一代開發框架,減少了xml,採用“約定大於配置”的思想,提供了許多開箱即用的三方庫,使開發者從煩擾的配置中解脫出來,能更專注於業務邏輯。

為什麼要學習SpringBoot?

  • SpringBoot與Spring一脈相承,學習曲線平滑
  • 簡化了xml配置,加快開發效率
  • SpringCloud的基礎
  • 越來越多的公司開始用SpringBoot進行開發

二、Hello World

接下來建立一個簡單的SpringBoot專案。

建立方法

1、利用官方提供的工具

地址:http://start.spring.io/

這裡寫圖片描述

選擇需要新增的元件,Generate後匯入ide工具中。

2、Idea自帶SpringBoot建立工具

這裡寫圖片描述

然後下一步,springboot內嵌tomcat,打包方式選擇jar,也可配置用外接的tomcat啟動

這裡寫圖片描述

選擇版本和相應的元件

這裡寫圖片描述

3、直接建立maven工程,在pom檔案中新增SpringBoot的相關依賴
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.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-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </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>

啟動類

工程建立後會自動生成一個啟動類,執行該啟動類即可啟動專案

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
  • 啟動類上一定要加上 @SpringBootApplication 註解
  • 可自定義啟動類,格式如上,要加上 @SpringBootApplication 註解,可在啟動類中進行相關的配置

控制器

新建兩個類:實體和控制器

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {

    /**
     * @Data 為lombok外掛提供註解
     * @Data: 提供@ToString,  @Getter,@Setter等方法
     * @AllArgsConstructor 提供全參構造
     * @NoArgsConstructor 提供無參構造
     */
    private String name;
    private Integer age;

}
@RestController
public class DemoController {

    @GetMapping("/get")
    public Student get() {
        Student student = new Student("zhangsan", 20);
        return student;
    }
}

執行啟動器,結果如下:
這裡寫圖片描述

從以上例子中可看到得到了正確的結果,也看到了利用Springboot的快捷方便之處。

@RestController 註解
  • 該註解實際上是 @Controller@ResponseBody的複合註解,與這兩個註解一起使用效果相同
  • @GetMapping 等效於 @RequestMapping(method = RequestMethod.GET),Spring4中開始提供,類似的還有@GetMapping、@PostMapping

    三、測試

測試類需加兩個註解 @RunWith@SpringBootTest

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

    @Test
    public void contextLoads() {

    }

}

注意

啟動類只能掃描到與啟動類同級的包及其子包,所以新建package的時候要注意,不然專案無法啟動。
這裡寫圖片描述

歡迎轉載,轉載請註明出處
歡迎討論交流,如有問題歡迎及時指正