第一个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; } }
其他收获
传参数的两种形式:
- 作为请求参数:方法的参数前使用
@RequestParam
注解或者不使用任何注解。二者区别在于:如果不写,相当于@RequestParam(required = false)
。浏览器访问路径为?key=xxx
。 - 作为路径参数:请求路径使用
{key}
构造路径,并且方法的参数前使用@PathVariable
注解。浏览器访问路径为/key
。