Spring Boot demo學習之 Hello World

背景

spring Boot 學習第一步,就是初始化項目和來一個hello world的api。java

初始化

訪問 http://start.spring.io/ 來初始化一個spring boot項目,生成的項目中包含最基本的 pom依賴項目。web

在pom.xmlspring

添加如下依賴:數據庫

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

入口文件

在建立好的包裏就有DemoApplication.java 類,這是springboot的入口類。
@SpringBootApplication註解全局惟一api

package com.example.demo;

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

@SpringBootApplication
public class DemoApplication {

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

在這個類上能夠添加springboot

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
@EnableScheduling

來暫時停用對數據庫的訪問,以及啓用任務管理。restful

控制器

接下來就是編寫咱們的控制層了,也就是處理http請求的。app

@RestController
public class HelloController {
    private final AtomicLong counter = new AtomicLong();

    @RequestMapping("/hello")
    public Person hello() {
        return new Person(counter.incrementAndGet(),"4321");
    }

    @RequestMapping(value="/newWorld", method = RequestMethod.GET)  
    public String newWorld() {
        return "Hello New43 da World";
    }

}

@RestController聲明這是一個restful API 的控制器,直接返回JSON串;@RequestMapping能夠用來指定請求的地址和請求方法(GET/POST/PUT)spring-boot

one more thing

@Controller
public class FileUploadController {
    @GetMapping("/resTest")
    @ResponseBody
    public  Person resTest() {
        return new Person(3674,"fdasfa");
    }
    @PostMapping("/resTest")
    @ResponseBody
    public  Person resTest() {
        return new Person(3674,"fdasfa");
    }
}

@Controller + @ResponseBody 一樣能夠產生 @RestController的效果。
@PostMapping和@GetMapping 看名字就知道是對應不一樣的請求方法。學習

相關文章
相關標籤/搜索