SpringBoot之RestfulCRUD

SpringBoot开发Restful风格的接口实现CRUD功能 实战---基于SpringBoot开发一个Restful接口,接口实现CRUD功能。 阅读详情

刚入门SpringBoot,通过一个入门案例来学习SpringBoot里的一些基础使用。

Restful风格的CRUD

项目目录如下,使用IDEA的Spring Initializr创建工程,只添加web模块
这里写图片描述
该项目使用的技术:
1、SpringBoot(web模块),默认自动配置
2、Thymeleaf模板引擎
3、Restful风格

该项目实现的功能:
1、静态资源访问
2、国际化
3、拦截器
3、登录
4、列表数据的增删查改

这里只记录一些重要的地方,一些简单的不做介绍

《本项目源码下载》

全局配置文件application.properties

#服务器端口
server.port=8088

#静态资源
#spring.resources.static-locations=classpath:/static/,classpath:/resources/,classpath:/webjars/

#指定国际化文件
spring.messages.basename=i18n.login

#开发时禁用thymeleaf缓存
spring.thymeleaf.cache=false

#日期格式化
spring.mvc.date-format=yyyy-MM-dd

自定义配置类:

// 加入自定义组件,扩展SpringMVC的功能
//@EnableWebMvc   // 如果在配置类上加上此注解,则SpringBoot对SpirngMvc的自动配置失效
@Configuration
public class MyMvcConfigurer implements WebMvcConfigurer {

    // 添加视图控制器,完成页面资源映射
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        // 配置路径映射
        registry.addViewController("/").setViewName("login");
        registry.addViewController("/index.html").setViewName("login");
        registry.addViewController("/login.html").setViewName("login");
        registry.addViewController("/main.html").setViewName("dashboard");
    }

    // 添加拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginHandlerInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns("/", "/login.html", "/user/login");
    }

    // 加入国际化组件
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }
}

Thymeleaf的使用

引入命名空间:

<html lang="en" xmlns:th="http://www.thymeleaf.org">

把需要渲染的模板放到/templates目录下,以html后缀命名,就会被自动渲染

由于页面的顶部栏和左侧栏是通用的,所以将其抽取出来放在bar.html中,然后使用Thymeleaf标签在相应位置引入即可

Restful风格的CRUD

URI: /资源名称/资源标识 HTTP请求方式区分对资源CRUD操作

Tables普通CRUD(uri来区分操作)RestfulCRUD
查询getEmpemp—GET
添加addEmp?xxxemp—POST
修改updateEmp?id=xx&xxx=xxxemp/{id}—PUT
删除deleteEmp?id=xemp/{id}—DELETE

本次实验的请求架构:

实验功能请求URI请求方式
查询所有员工empsGET
来到添加页面empGET
添加员工empPOST
来到修改页面(查出员工进行信息回显)emp/{id}GET
修改员工empPUT
删除员工emp/{id}DELETE

问题:由于普通的form表单只支持GET和POST方式,可以使用一种方式来解决这个问题
方法:
1、SpringMVC中配置HiddenHttpMethodFilter(SpringBoot自动配置好的)
2、页面创建一个post表单
3、创建一个input项,name=”_method”,值就是我们指定的请求方式

html

<form action="/emp" method="post">
    <!--发送put请求修改员工数据-->
    <!--
        1、SpringMVC中配置HiddenHttpMethodFilter(SpringBoot自动配置好的)
        2、页面创建一个post表单
        3、创建一个input项,name="_method",值就是我们指定的请求方式
    -->
    <input type="hidden" name="_method" value="put"/>
    ......
</form>

Controller

// 修改员工信息
@PutMapping("/emp")
public String edit(Employee employee){
    employeeDao.save(employee);
    return "redirect:/emps";
}
// 根据id查出员工信息,跳转到修改页面进行回显
@GetMapping("/emp/{id}")
public String toEditPage(@PathVariable("id")Integer id, Model model){
    // 根据id查出员工信息
    Employee employee = employeeDao.get(id);
    // 获取部门信息,用于页面回显
    Collection<Department> departments = departmentDao.getDepartments();
    model.addAttribute("deps", departments);
    model.addAttribute("emp", employee);
    return "emp/add";    // 这里addPage和editPage共同使用一个页面
}

其他的提交方式以此类推。

【音视频】PJSIP库——示例简介、C++类说明 aectest音频回声消除测试工具,用于演示音频处理模块中的回声消除(AEC)功能,通常用于 VoIP 场景中优化语音质量。auddemo音频播放 / 录制演示,展示如何使用 PJProject 的音频接口进行基本的音频数据采集、播放和处理,例如波形显示或格式转换。stereotest立体声处理测试,可能用于演示多声道音频的处理方式,如混音、声道分离等。tonegen音频信号生成工具,用于生成测试用的音频信号(如正弦波、音调等),常用于音频设备测试或调试。recfile。 阅读详情

相关推荐

SAP入门技术分享四:模块化程序

SAP入门技术分享三:模块化程序

ITxiaoangzai的博客 1152

SpringBoot(十)RestfulCRUD

我们先创建一个SpringBoot的 web 项目,并导入thymeleaf、lombok 坐标。 1、环境搭建 首先我们先将静态资源及页面拷入到项目中。 然后我们编写 pojo、dao类 Department类 @Data @AllArgsConstructor @NoArgsConstructor public class Department { private Integer id; private String departmentName; } Employee 类 @

星海IT学习之路 383

常用的集成TTL门电路

本篇主要分析了常用的逻辑门电路与非门,详细分析了电源原理。值得收藏。

ManagerUser的博客 5086

SpringBoot的Restful CRUD

1. 首先,让我们看一下Restful Api的基础知识 http://www.runoob.com/w3cnote/restful-architecture.html 2.在SpringBoot中,关于Restful API的使用,主要包含以下几个内容: 1)通过自定义MvcConfig来定义默认访问页面 2)国际化 3)拦截器配置,用于对登录用户进行检查 4)Rest风格的CRUD实现(...

qq_34749144的博客 440

在unity urp项目中 通过图片创建材质(透明光晕)

unity中通过图片创造材质(urp管道)

m0_49721415的博客 1537

哨兵1号后向散射系数土壤水分反演

打开之前预处理之后的VH和VV极化的后向散射系数转存的tiff文件。

所有专家都曾始于新手 3292

SpringBoot Restful风格简单的CRUD(一)

一、做到默认访问首页 要扩展SpringBoot对SpringMVC的默认配置,可以实现WebMvcConfigurer接口,重写其中的方法,并将其注册到容器中。 //使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能 //@EnableWebMvc 不要接管SpringMVC @Configuration public class MyMvcConfi...

sout 363

YOLO26全新改进 | 最全损失函数改进篇 | SIoU 、WIoU、GIoU、DIoU、EIOU、CIoU, InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

🔥本文详细介绍了如何修改YOLO26中的损失函数。首先提供了完整的损失函数核心代码,包括WIoU_Scale类和各种IoU计算方法。然后分三步指导修改:1)替换metrics.py中的bbox_iou方法;2)修改loss.py中的iou计算代码;3)更新tal.py中的相关代码。文中特别强调了修改损失函数应在模型结构调整后使用,并提供了多种IoU损失函数的参数配置建议,包括SIoU、WIoU、GIoU等,可根据实际需求灵活选择搭配使用。

Ai缝合怪、助力小伙伴高效发论文 447

Spring Boot Web开发-RestfulCRUD

1、默认访问首页 2、国际 3、登陆 4、拦截器进行登陆检查 5、RestfulCRUD-实验要求 6、CRUD-员工列表 7、CRUD-员工修改与添加 8、CRUD-员工删除

蒟蒻码农的博客 511

OpenClaw 生成测试用例

OpenClaw 只是躯干,Skills 才是灵魂。很多同学觉得 OpenClaw 没用,就像是买了一台顶级电脑却没装操作系统。通过这四步走,不仅可以学会如何让 AI 干活,更重要的是,可以学会如何管理 AI 的能力。

十二测试录 737

用 SELECT FOR UPDATE 亲手制造典型数据库死锁——从 ABAP 视角揭秘 RDBMS 的锁争夺战

在日常 ABAP 开发中,多数人只在 ST22 里偶尔瞥见这行 dump,却对背后的原理知之甚少。本文借助社区前辈的经典实验,还原一个可复现的死锁现场,进一步讨论产生根因、检测手段与规避策略,并用真实业务案例串联起数据库、Open SQL 与 SAP NetWeaver 锁管理之间的逻辑链条。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 454

四、SpringBoot RestfulCRUD

一、修改一些默认配置 1、config配置文件 package com.zmz.springboot04.config; import com.zmz.springboot04.component.LoginHandlerInterceptor; import com.zmz.springboot04.component.MyLocaleResolver; import org.sprin...

weixin_41449756的博客 236

AI人工智能领域持续学习:提升技术能力的关键

在当今科技飞速发展的时代,AI人工智能已经渗透到我们生活的方方面面。本文章的目的就是帮助大家了解在AI人工智能领域持续学习的重要性,以及如何通过持续学习来提升自己的技术能力。文章会涵盖AI的核心概念、持续学习的原理和方法、实际应用场景等方面,让大家对AI领域的持续学习有一个全面的认识。本文首先会介绍AI人工智能的核心概念,让大家对这个领域有一个初步的了解。然后详细讲解持续学习的原理和方法,通过代码示例展示如何在实际项目中实现持续学习。接着会分析AI持续学习在不同场景的应用,推荐一些学习工具和资源。

AI 原生应用开发的博客 1288

SpringBoot 练习RestfulCRUD

1)、默认访问首页 ​ @Component public class MvcConfig implements WebMvcConfigurer { /** * 添加静态资源文件,外部可以直接访问地址 * * @param registry */ @Override public void addResourceHa...

qq_28527469的博客 426

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringBoot 练习RestfulCRUD-02

2)、国际化 1)、编写国际化配置文件; 2)、使用ResourceBundleMessageSource管理国际化资源文件 3)、在页面使用fmt:message取出国际化内容 步骤: 1)、编写国际化配置文件,抽取页面需要显示的国际化消息 2)、SpringBoot自动配置好了管理国际化资源文件的组件; @ConfigurationProperties(pre...

qq_28527469的博客 179

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Springboot总结】14 RestfulCRUD

总结 1. 项目的搭建 2. 登录 一、项目搭建 1. DAO、entities 2. 静态资源 3. 模板引擎Thymeleaf渲染的界面 4. 默认访问首页 因为springboot的自动化配置是默认加载静态文件夹下的index.html,但是该路径下的index.html不能被模板引擎渲染,所以要自定义视图解析器 (1)方式一 推荐 /...

FullStackDeveloper0的博客 326

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SpringBoot中使用RestfulCRUD

1. 默认访问首页 //所有的WebMvcConfigurer都会一起起作用 @Bean//将组件注册在容器中 public WebMvcConfigurer webMvcConfigurer(){ WebMvcConfigurer webMvcConfigurer = new WebMvcConfigurer() { @Override public void addViewControllers(ViewController

ClearLex的博客 249

springboot05-RestfulCRUD

RestfulCRUD案例分析1)、默认访问首页2)、国际化3)、登陆4)、拦截器进行登陆检查5)、CRUD-员工列表6)、CRUD-员工添加 案例分析 1)、默认访问首页 //使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能 //@EnableWebMvc 不要接管SpringMVC @Configuration public class MyMvcC...

weixin_44172800的博客 326

springboot中restfulCRUD例子

springboot中restfulCRUD例子 简介 在学习了springboot和web相关的内容时,学习了一下增删改查相关的讲解,所以自己也写一个增删改查的例子来记录一下,先说明为了简单本次例子中不含有数据库相关的操作,只是为了举例。 讲解 假设我们有一个学生类student需要进行展示,并且对其进行增删改查。 首先我们写一下对应的uri: 普通CRUD(uri来区分操作) RestfulCRUD 查询 getStudent student–get 添加 addStudent s

bugcat的博客 427

SpringBoot——RestfulCRUD练习项目

只是练习thymeleaf的用法,所以没有使用数据库;如果觉得非要加数据库的同学,可以自行修改。 环境与技术 电脑环境:macOS 电脑软件:IDEA、Navicat Premium 基础框架:SpringBoot2.3.0 前端框架:bootstrap 模板引擎:thymeleaf 服务器:Tomcat 依赖管理:Maven3.5.4 资源下载 静态资源、页面和dao代码下载: 新建项目 引入依赖 pom引入web、jquery、thymeleaf、bootstrap &lt.

小楊同学的笔记本 1097

【Springboot总结】15 RestfulCRUD-- 02

总结 1. 公共片段的抽取、引入 2. 片段的参数传递 一、实验要求 RestfulCRUD:CRUD满足Rest风格; URI: /资源名称/资源标识 HTTP请求方式区分对资源CRUD操作 普通CRUD(uri来区分操作) RestfulCRUD 查询 getEmp emp---GET 添加 addEmp?xxx emp---P...

FullStackDeveloper0的博客 262

springboot之restfulcrud登录与拦截

1、 <form class="form-signin" th:action="@{/user/login}" method="post"> controller包中新建类 package com.cnstrong.springboot04webrestfulcrud.controller; import org.springframework.stereotype.Cont...

level_Tiller的博客 409

SpringBoot(雷丰阳)RestfulCRUD

web开发 RestfulCRUD 1)、默认访问首页 //情况一 @RequestMapping({"/","/index.html"}) public String index(){ return "login"; } //情况二 // 所有的WebMvcConfigurer组件都会一起起作用 @Bean //将组件注册在容器 public WebMvcConfigurer webMvcConfigurer(){ Web

baidu_34298344的博客 399

Springboot的简单RestfulCRUD实验(下)

Springboot的简单RestfulCRUD实验(上) 三、CRUD-员工列表 实验要求: 1)、RestfulCRUD:CRUD满足Rest风格; URI: /资源名称/资源标识 HTTP请求方式区分对资源CRUD操作 2)、实验的请求架构 效果图: 3)、员工列表: thymeleaf公共页面元素抽取 1、抽取公共片段 <div th:fragment="cop...

weixin_43566977的博客 310

21 SpringBoot之RestfulCRUD(二)

CRUD-员工列表 实验要求: 1)、RestfulCRUD:CRUD满足Rest风格; URI: /资源名称/资源标识 HTTP请求方式区分对资源CRUD操作 2)、实验的请求架构 3)、员工列表: thymeleaf公共页面元素抽取 三种引入公共片段的th属性: th:insert: 将公共片段整个插入到声明引入的元素中 th:replace: 将声明引入的元素替换为公共片段 th:in...

阿甘兄 695

springboot之restfulcrud--修改

list.html <a href="#" th:href="@{/emp/}+${emp.id}" class="btn btn-sm btn-primary">编辑</a> EmployeeController //来到修改界面,查出当前员工在页面回显 @GetMapping("/emp/{id}") public String toEditPage(@Pat...

level_Tiller的博客 251
上一篇: SpringBoot之Web开发
下一篇: SpringBoot之错误处理机制以及定制错误信息
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值