SpringBoot专题学习Part2:简单几步启动SpringBoot的Web应用
程序员文章站
2022-04-22 08:02:17
...
一、创建一个无骨架的Maven工程
二、导入依赖
以Spring Boot作为父工程
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
引入Spring的web工程的启动器
无须填写版本 版本自动由SpringBoot父工程管理
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
三、在主方法中启动Spring Boot环境
@SpringBootApplication
注解:实际上是SpringBoot提供的一个复合注解
标注主程序 告诉SpringBoot 这是一个SpringBoot应用
@SpringBootApplication
public class BootDemoApplication {
public static void main(String[] args) {
SpringApplication.run(BootDemoApplication.class,args);
}
}
此时运行main方法 访问服务器 会出现异常
异常产生的原因:没有Controller
因此 还需要编写一个Controller
四、编写Controller类
@RestController
public class HelloController {
@GetMapping("/hello")
public List hello()
{
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
return list;
}
}
直接访问即可 非常方便
新注解介绍:
@GetMapping("/hello")
SpringMVC以前版本的@RequestMapping到了新版本被下面新注释替代 相当于增加的选项:
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
Restful风格:
从命名约定可以看见 每个注释都是为了处理各自的传入请求方法类型 即@GetMapping用于处理请求方法的GET类型 @PostMapping用于处理请求方法的POST类型等 更加符合Restful风格
若使用传统的@RequestMapping注释实现URL处理程序 应该是这样的:
@RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
然而 在新注解中 可以简化为:
@GetMapping("/get/{id}")
@RestController
相当于@Controller
+ @ResponseBody
两个注解的结合
返回JSON数据时 无须在方法前面加@ResponseBody注解了
但使用@RestController这个注解不能返回jsp html页面 因为视图解析器无法解析是否为jsp或html页面