当前位置: 首页 > news >正文

SpringMvc学习笔记五

Restful 风格路由

1. 配置类

   1.1、SpringMvcConfig配置类

@Configuration
@ComponentScan({"com.itheima.controller", "com.itheima.config"})   方式1.2 添加com.itheima.config 扫描目录
@EnableWebMvc
public class SpringMvcConfig {
}

  1.2、ServletContainerInitConfig类

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {@Overrideprotected Class<?>[] getRootConfigClasses() {return new Class[0];}@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}@Overrideprotected String[] getServletMappings() {return new String[]{"/"};}// 乱码处理 过滤器@Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter filter = new CharacterEncodingFilter();filter.setEncoding("UTF-8");return new Filter[]{filter};}
}

 1.3、SpringMvcSupport配置类

@Configuration  //方式1.1 添加Configuration注解
public class SpringMvcSupport extends WebMvcConfigurationSupport {@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {// 当访问 /pages的时候 ,走pages目录下访问 不要走mvcregistry.addResourceHandler("/pages/**").addResourceLocations("/pages/");}
}
  • 这个类的主要作用 添加静态资源排除,让这些路径 不会进入SpringMvc动态请求里面

2.  控制器

 2.1、 Restful 风格 增删改查

@RestController
@RequestMapping("/books")
public class BookController {@PostMappingpublic String save(@RequestBody Book book){System.out.println("book save ==>" + book);return "{'module':'book save success'}";}@GetMappingpublic List<Book> getAll(){Book book1 = new Book();book1.setType("计算机");book1.setName("SpringMVC入门教程");book1.setDescription("小试牛刀");Book book2 = new Book();book2.setType("计算机");book2.setName("SpringMVC项目实战");book2.setDescription("一代总是");List<Book> bookList = new ArrayList<>();bookList.add(book1);bookList.add(book2);return bookList;}@DeleteMapping("/{id}")public String delete(@PathVariable Integer id){System.out.println("book delete id = "+ id);return "{'module':'book delete success'}";}@PutMappingpublic String update(@RequestBody Book book){System.out.println("book update book = "+ book);return "{'module':'book update success'}";}
}
  • @RestController 声明为Rest风格控制器

  • @RequestMapping("/books")  路径

  • @PostMapping   Post请求

  • @GetMapping    Get请求

  • @DeleteMapping("/{id}")  Delete请求

  • @PutMapping   Put请求

  • Json格式参数必须加上@ReqeustBody 注解

http://www.lryc.cn/news/108966.html

相关文章:

  • ORACLE-DG总结
  • 机器学习中的 K-均值聚类算法及其优缺点
  • 【数据化分析和建模】一般步骤(个人工作经验总结)
  • 视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明
  • T31开发笔记:librtmp拉流测试
  • 2308C++概念化
  • flutter开发实战-实现自定义按钮类似UIButton效果
  • 深度优先搜索|1034, 1020, 1254
  • 都市信息供求网servlet+jsp新闻广告出售java源代码mysql
  • kubeadm init:failed to pull image registry.k8s.io/pause:3.6
  • 设计模式之简单工厂模式、工厂模式、抽象工厂模式
  • C# 控制台彩色深度打印 工具类
  • Pytorch Tensor维度变换方法
  • 微信小程序之点击文字文字自动转语音进行播放,微信小程序文字识别转语音播放
  • 主动学习、半监督学习、它们之间的区别?
  • linux快速安装Rabbitmq
  • spconv1.2.1库的编译与安装
  • java+springboot+mysql企业邮件管理系统
  • [CKA]考试之一个 Pod 封装多个容器
  • iphone备份用什么软件?好用的苹果数据备份工具推荐!
  • 一语道破 python 迭代器和生成器
  • 有哪些开源和非开源的项目管理工具?
  • 实战 01|「编写互动式界面」
  • 开源社区寻找八月创作之星!你准备好了吗~
  • appuploader不是开发者账号
  • MySQL - 10、其他命令
  • 输入框长度在XSS测试中如何绕过字符长度限制
  • JVM基础篇-直接内存
  • 【Java可执行命令】(十四)脚本执行工具jrunscript :在命令行环境下交互式执行一些简单的脚本或测试代码片段~
  • eclipse Java Editor Templates