本文主要记录几个注释的使用方法。

1. @Controller : 处理http请求

2. @RequestMapping : 配置URL映射

3. @RestController : 组合注解,spring 4之后新加的注解,相当于@Controller和@ResponseBody配合使用

4. @PathVariable : 获取URL中的数据

5. @RequestParam : 获取请求的参数的值

6. @GetMapping/@PostMapping : 组合注解

使用方法:

1. @Controller

需要与模板配合使用。

pom.xml 中添加模板依赖,代码如下:

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

在resources下创建文件夹templates,在templates下创建index.html,index.html内容随便写。

编辑Java类,代码如下:

@Controller
public class HelloController {
@RequestMapping(value="/say", method=RequestMethod.GET)
public String sayHello(@PathVariable("id") int myId){
return "index";
}
}

在浏览器中访问http://127.0.0.1:8080/say即可看到index.html页面内容

2. @RequestMapping

上面代码已经使用了该注解。

3. @RestController

组合注解,相当于@Controller和@ResponseBody配合使用

4. @PathVariable

获取URL中的数据,代码如下:

@RestController
public class HelloController {
@RequestMapping(value="/say/{id}",method=RequestMethod.GET)
public String sayHello(@PathVariable("id") int myId){
return "myId is " + myId;
}
}

在浏览器中访问http://127.0.0.1:8080/say/111即可查看结果

5. @RequestParam

获取请求的参数的值,代码如下:

@RestController
public class HelloController {
@RequestMapping(value ="/say", method=RequestMethod.GET)
public String sayHello( @RequestParam("id") int myId){
return "myId is " + myId;
}
}

在浏览器中访问http://127.0.0.1:8080/say?id=111即可查看结果

也可以设置参数的默认值,代码如下:

@RestController
public class HelloController {
@RequestMapping(value ="/say", method=RequestMethod.GET)
public String sayHello( @RequestParam( value = "id", required = false, defaultValue = "0") int myId){
return "myId is " + myId;
}
}

这样可以不传参数id。在浏览器中访问http://127.0.0.1:8080/say即可查看结果

6. @GetMapping/@PostMapping

组合注解

@GetMapping(value = "/say") 相当于 @RequestMapping(value = "/say", method = RequestMethod.GET)

@PostMapping(value = "/say") 相当于 @RequestMapping(value = "/say", method = RequestMethod.POST)

除此之外,还有组合注解@PutMapping、@DeleteMapping等等。

Spring Boot学习——Controller的使用的更多相关文章

  1. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  2. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  3. 转载:spring boot学习

    Spring Boot学习 Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提 ...

  4. Spring Boot 学习方法论-如何正确的入门 Spring Boot

    想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程序基础或者软件编程知识). 这恰好能够勾出很多问题,比如是文章图文教程适合还是视频教程适合零基础初 ...

  5. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  6. Github点赞超多的Spring Boot学习教程+实战项目推荐!

    Github点赞接近 100k 的Spring Boot学习教程+实战项目推荐!   很明显的一个现象,除了一些老项目,现在 Java 后端项目基本都是基于 Spring Boot 进行开发,毕竟它这 ...

  7. Spring Boot学习大全(入门)

    Spring Boot学习(入门) 1.了解Spring boot Spring boot的官网(https://spring.io),我们需要的一些jar包,配置文件都可以在下载.添置书签后,我自己 ...

  8. spring boot 学习资料

    spring boot 学习资料: 学习资料 网址 Spring Boot Cookbook-极客学院 http://wiki.jikexueyuan.com/project/spring-boot- ...

  9. Spring Boot学习笔记2——基本使用之最佳实践[z]

    前言 在上一篇文章Spring Boot 学习笔记1——初体验之3分钟启动你的Web应用已经对Spring Boot的基本体系与基本使用进行了学习,本文主要目的是更加进一步的来说明对于Spring B ...

随机推荐

  1. vue.js 服务端渲染nuxt.js反向代理nginx部署

    vue.js的官方介绍里可能提到过nuxt.js,我也不太清楚我怎么找到这个的 最近项目vue.js是主流了,当有些优化需求过来后,vue还是有点力不从心, 比如SEO的优化,由于vue在初始化完成之 ...

  2. Django2.1中的分页功能详解

    django的分页功能类将我们常用的多种方法均封装在Paginator类,根据这些方法我们均可深度定制我们的分页功能. 首先来看看[Paginator] 类的构造方法: class Paginator ...

  3. myeclipse10.5 crack(2012-12-27-bd 写的日志迁移

    首先去网上下一个破解文件如图: 解压过后打开的文件夹如图: 再打开crack文件夹如图: 运行run.bat如果点击它没反应就是你没有安装jdk,它如果运行就如图所示: 到这一步就在第一个方框user ...

  4. Flask初学者:配置文件

    如果设置项比较少的话可以使用“app.config['param_name']=value”的形式直接使用,如果需要设置的参数比较多的话,可以单独新建一个配置文件用来存放配置信息,配置文件中的参数需大 ...

  5. UVA11825 Hacker's Crackdown 二进制集合+关于子集的动态规划

    题意:有N台服务器,全部服务器都直接运行着完全相同的N个任务.对于每台电脑,你都可以进行“一次”操作,使得某(自己选定)一种任务停止,且同时会使得其他和这台服务器直接相连的电脑上面相同的服务完全终止. ...

  6. Android 自定义 radiobutton

    <RadioButton android:id="@+id/radiobutton_pay_method" android:layout_width="30dp&q ...

  7. datagrid的基本属性&查询和清空功能的实现

    1.datagrid基本属性 <script charset=UTF-8"> $(function(){ $("#datagrid").datagrid({ ...

  8. easyui-combogrid匹配查询

    用到easyui-combogrid,数据比较少的情况,可以一页就显示完毕,然后直接下拉选择.但是对于数据量比较大的情况,一页显示全部显然不合适,好在从easyui-combogrid的数据加载方式可 ...

  9. 无法启动此程序,因为计算机中丢失OgreMain_d.dll。尝试重新安装该程序以解决此问题。

    这个问题很奇怪啊,不明白什么原因? 打开VS2010,打开项目,运行,就提示”无法启动此程序,因为计算机中丢失OgreMain_d.dll.尝试重新安装该程序以解决此问题.“ 然后就去配置环境变量,包 ...

  10. Selenium中如何运行 auto.exe 文件

    Runtime exe = Runtime.getRuntime(); try{ String str = "D:\\Auto上传文件\\photo.exe"; exe.exec( ...