Controller注解介绍

  • @Controller:处理http请求
  • @RestController: Spirng4之后新加的注解,其实是一个组合注解等同于@ResponseBody和@Controller的组合
  • @RequestMapping: 用于配置url映射,期望用户通过url访问方法
  • @PathVariable:获取url中的数据
  • @RequestParam:使用和@PathVariable差不多,不过以?id=来传递值

@Controller的使用

需要在以前的代码结构基础上修改三个文件

为pom.xml添加一个依赖

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

右击pom.xml,Reimport一下

新建一个index.html文件,添加一句话

<h1>Hello Spring Boot!</h1>

修改HelloController.java,使用Controller注解,并返回index.html文件

 package com.example.demo;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; @Controller
public class HelloController { //自动装配注解
@Autowired
private PeopleProperties peopleProperties; @RequestMapping(value = "/hello" , method = RequestMethod.GET)
public String say() {
return "index";
}
}

运行,访问本地8082端口

@RestController的使用

@RestController相当于@ResponseBody和@Controller的组合注解

修改HelloController.java

 package com.example.demo;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; @RestController
public class HelloController { @Autowired
private PeopleProperties peopleProperties; @RequestMapping(value = {"/hello"} , method = RequestMethod.GET)
public String say() {
return peopleProperties.getName();
}
}

运行,访问本地8082端口

@PathVariable的使用

修改HelloController.java,获取url中的id值显示到页面上

 package com.example.demo;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; @ResponseBody
@Controller
public class HelloController { @Autowired
private PeopleProperties peopleProperties; @RequestMapping(value = {"/hello/{id}"} , method = RequestMethod.GET)
public String say(@PathVariable("id") Integer id) {
return "id: " +id;
}
}

运行,url中的id设为2

@RequestParam的使用

修改HelloController.java,用传统的方式?id=value,来获取url中的id值显示到页面上。

 package com.example.demo;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; @ResponseBody
@Controller
public class HelloController { @Autowired
private PeopleProperties peopleProperties; @RequestMapping(value = {"/hello"} , method = RequestMethod.GET)
public String say(@RequestParam(value = "id" ,required = false,defaultValue = "0") Integer id) {
return "id: " +id;
}
}

运行

Java框架spring Boot学习笔记(三):Controller的使用的更多相关文章

  1. Java框架spring Boot学习笔记(六):Spring Boot事务管理

    SpringBoot和Java框架spring 学习笔记(十九):事务管理(注解管理)所讲的类似,使用@Transactional注解便可以轻松实现事务管理.

  2. Java框架spring Boot学习笔记(二):Hello Spring Boot、以及项目属性配置

    新建一个新建一个SpringBootTest工程 新建一个HelloController.java文件 package com.example.demo; import org.springframe ...

  3. Java框架spring Boot学习笔记(一):开始第一个项目

    新建一个项目,选择Spring initializr 修改group和项目名 添加依赖包Web,MongoDB 设置保存位置和工程名 新建一个test的文件 输入代码: package com.xxx ...

  4. Java框架spring Boot学习笔记(五):Spring Boot操作MySQL数据库增、删、改、查

    在pom.xml添加一下代码,添加操作MySQL的依赖jar包. <dependency> <groupId>org.springframework.boot</grou ...

  5. Java框架spring Boot学习笔记(十):传递数据到html页面的例子

    新建一个templates文件夹和index.html <!DOCTYPE html> <html> <head lang="en"> < ...

  6. Java框架spring Boot学习笔记(四):Spring Boot操作MySQL数据库

    在pom.xml添加一下代码,添加操作MySQL的依赖jar包. <dependency> <groupId>org.springframework.boot</grou ...

  7. Java框架spring Boot学习笔记(七):@Configuration,@bean注解

    @Configuration作用在类上,相当于一个xml文件 @bean作用于方法上,相当于xml配置中的<bean>标签 一个例子: 新建一个Springboot工程 新建一个User类 ...

  8. Java框架spring Boot学习笔记(九):一个简单的RESTful API

    RESTful API设计需求如下: User.java package com.springboot.test; public class User { private Long id; priva ...

  9. Java框架spring Boot学习笔记(八):@PropertySource,@Value注解

    获取配置文件 忽略配置文件不存在时报错

随机推荐

  1. 菜鸟的java代码审计之旅-0之java基础知识

    前言: 对于java的代码审计我就是一个小白,没有代码基础(不会java),从0开始记录我的java漏洞的审计学习之旅.对于java来说是一门很难的语言,但是不去学习就永远不会.对于一门很复杂的语言如 ...

  2. js对象原型prototype

    javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用. 每一个构造函数都有一个属性叫做原型 1.1. 原型法设 ...

  3. 【原创】Open JDK更换过程及更换后的问题总结与分析

    由于2019年1月起Oracle对通用计算以外的应用场景开始收费,综合看来还是主要针对嵌入式的Java应用进行收费,毕竟嵌入式设备的数量是庞大的,可以有数亿元进账. 因Oracle JDK收费,各大公 ...

  4. [STM32F103]定时器中断

    l 使能定时器时钟. RCC_APB1PeriphClockCmd(); l 初始化定时器,配置ARR,PSC. TIM_TimeBaseInit(); l 开启定时器中断,配置NVIC. void ...

  5. 检查 TCP 80 端口是否正常工作

    检查 TCP 80 端口是否正常工作 2017-09-13 22:12:50 目录 Windows Server 2012 Windows Server 2008 CentOS 7.3 Ubuntu ...

  6. 初识SEO

    一.什么是SEO 1.SEO 搜索引擎优化(Search Engine Optimization)指通过对网站进行站内优化和修复(网站Web结构调整.网站内容建设.网站代码优化和编码等)和站外优化,从 ...

  7. Spring Security开发Restful服务

    2-1开发环境安装 1.jdk8安装 2.安装STS    Spring Tool Suite实际上就是一个eclipse,只不过在此基础上又安装了一些插件 3.安装mysql 2-2代码结构介绍 打 ...

  8. HTTP 请求头中的 Remote_Addr,X-Forwarded-For,X-Real-IP

    REMOTE_ADDR 表示发出请求的远程主机的 IP 地址,remote_addr代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,假设中间 ...

  9. ubuntu 14.04解决wifi连接不稳定问题

    问题描述:开机后wifi功能可以使用,一段时间后无法上网,重启后正常. 三种方法: 一 将/etc/ppp/options 文件第232行中的 cp-echo-failure 4 改为 lcp-ech ...

  10. .NET Core 中的通用主机和后台服务

    简介 我们在做项目的时候, 往往要处理一些后台的任务. 一般是两种, 一种是不停的运行,比如消息队列的消费者.另一种是定时任务. 在.NET Framework + Windows环境里, 我们一般会 ...