第一个SpringBoot程序

使用SpringBoot initializer创建项目

spring官方:https://start.springboot.io/
阿里云:https://start.aliyun.com/
Idea内置的initializer是spring官方的。

SpringBoot官方文档

https://spring.io/projects/spring-boot

步骤

生成项目


编写Controller

要点:

  • 在入口类HelloSpringbootApplication平级目录建立Controller目录
  • Controller类使用@RestController@Controller注解

查看源码,@RestController@Controller多一个@ResponseBody注解,因此只能返回JSON值。如果要返回页面,应使用@Controller注解Controller类。

  • 方法上使用@RequestMapping@GetMapping注解

    示例:

    package com.yeyouluo.hellospringboot.controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class HelloController {
    //    @GetMapping(value="/hello")
    //    public String sayHello(String name){
    //        return "hello," + name;
    //    }
    //    @GetMapping(value="/hello")
    //    public String sayHello(@RequestParam(value = "name", required = false) String name){
    //        return "hello," + name;
    //    }
        @GetMapping(value="/hello/{name}")
        public String sayHello(@PathVariable String name){
        return "hello," + name;
        }
    }
    
    

其他收获

传参数的两种形式:

  1. 作为请求参数:方法的参数前使用@RequestParam注解或者不使用任何注解。二者区别在于:如果不写,相当于@RequestParam(required = false)。浏览器访问路径为?key=xxx
  2. 作为路径参数:请求路径使用{key}构造路径,并且方法的参数前使用@PathVariable注解。浏览器访问路径为/key