Spring Boot 入门
来源:互联网 发布:config.php 编辑:程序博客网 时间:2024/05/16 18:55
- 前端控制器是DispatcherServlet;
- 应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;
- 页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);
- 支持本地化(Locale)解析、主题(Theme)解析及文件上传等;
- 提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。
package com.xxx;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@SpringBootApplication@RestControllerpublic class Application { @RequestMapping("/") public String greeting() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
- SpringApplication是Spring Boot框架中描述Spring应用的类,它的run()方法会创建一个Spring应用上下文(Application Context)。另一方面它会扫描当前应用类路径上的依赖,例如本例中发现spring-webmvc(由 spring-boot-starter-web传递引入)在类路径中,那么Spring Boot会判断这是一个Web应用,并启动一个内嵌的Servlet容器(默认是Tomcat)用于处理HTTP请求。
- Spring WebMvc框架会将Servlet容器里收到的HTTP请求根据路径分发给对应的@Controller类进行处理,@RestController是一类特殊的@Controller,它的返回值直接作为HTTP Response的Body部分返回给浏览器。
- @RequestMapping注解表明该方法处理那些URL对应的HTTP请求,也就是我们常说的URL路由(routing),请求的分发工作是有Spring完成的。
1. 使用@Controller实现URL路由
1.1 @RequestMapping可以注解@Controller类
@RestController@RequestMapping("/classPath")public class Application { @RequestMapping("/methodPath") public String method() { return "mapping url is /classPath/methodPath"; }}
1.2 URL中的变量:PathVariable
@RequestMapping("/users/{username}")public String userProfile(@PathVariable("username") String username) { return String.format("user %s", username);}@RequestMapping("/posts/{id}")public String post(@PathVariable("id") int id) { return String.format("post %d", id);}
URL中的变量可以用{variableName}来表示,同时在方法的参数中加上@PathVariable(“variableName”),那么当请求被转发给该方法处理时,对应的URL中的变量会被自动赋值给被@PathVariable注解的参数(能够自动根据参数类型赋值,例如上例中的int)
1.3 支持HTTP方法
对于HTTP请求除了其URL,还需要注意它的方法(Method)。例如在浏览器中访问一个页面通常是GET方法,而表单的提交一般是POST方法。@Controller中的方法同样需要对其进行区分:
@RequestMapping(value = "/login", method = RequestMethod.GET)public String loginGet() { return "Login Page";}@RequestMapping(value = "/login", method = RequestMethod.POST)public String loginPost() { return "Login Post Request";}
PUT方法用来添加的资源 -增
GET方法用来获取已有的资源 -查 / 默认
POST方法用来对资源进行状态转换 -改
DELETE方法用来删除已有的资源 -删
阅读全文
0 0
- 【Spring Boot】Spring Boot 入门
- Spring Boot 快速入门
- spring boot 入门
- Spring Boot 入门
- Spring Boot 入门
- spring boot简易入门
- Spring boot入门
- Spring Boot 快速入门
- Spring boot快速入门
- Spring boot 入门 实例
- Spring Boot 快速入门
- spring boot入门(一)
- spring boot入门例
- Spring Boot入门例子
- spring boot 入门
- Spring Boot入门
- Spring Boot 快速入门
- Spring Boot 入门笔记
- mysql备份恢复
- Zeppelin 搭建不是那么简单
- 使用SurfaceView+Camera模仿照相机拍照功能
- hdu 5919 主席树保留区间数的种类数目
- 1044. 火星数字(20)
- Spring Boot 入门
- Linux 线程浅析
- U
- 斯坦福大学机器学习课程笔记一但变量线性回归模型
- 关于循环语句的运用
- POJ 3321 Apple Tree (树状数组)
- 数组的运用
- 170721 misc-cctf(2)
- maven安装教程