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

Java---SpringBoot详解一


人性本善亦本恶,  
喜怒哀乐显真情。  
寒冬暖夏皆有道,  
善恶终归一念间。  

善念慈悲天下广,  
恶行自缚梦难安。  
人心如镜自省照,  
善恶分明照乾坤。

目录

一,入门程序

①,创建springboot工程,并勾选web开发相关依赖

②,定义HelloController类,添加方法hello,并添加注解。

③,运行测试

二,请求响应

 ①简单请求

 ②实体参数请求

​编辑 ③数组集合参数

④日期参数

 ⑤Json参数

 ⑥路径参数


一,入门程序

先从一个小的案例开始,有这样一个需求,使用SpringBoot开发一个web应用,浏览器发起请求/hello 后,给浏览器返回字符串“Hello World”

①,创建springboot工程,并勾选web开发相关依赖

 

②,定义HelloController类,添加方法hello,并添加注解。

创建HelloController类:

package com.yuanzhen.demo3.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/*
* 请求处理类
* */
@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){System.out.println("Hello World");return "Hello World";}
}

 运行Demo3Application的main方法:

@SpringBootApplication
public class Demo3Application {public static void main(String[] args) {SpringApplication.run(Demo3Application.class, args);}}

 运行日志如下:

③,运行测试

在浏览器窗口输入http://localhost:8080/hello

 

同时日志输出:Hello World 

运行成功。

二,请求响应

总体框架如下:

 ①简单请求

还是按照上面步骤创建springboot工程:

 创建完成后,编写Controller类:

package com.yuanzhen.yzjavatest.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class RequestController {@RequestMapping("/yuanzhen")public String yzTest(String name,Integer age){System.out.println("name:"+name+",age:"+age);return  "请求成功";}
}

然后运行:

@SpringBootApplication
public class YzJavaTestApplication {public static void main(String[] args) {SpringApplication.run(YzJavaTestApplication.class, args);}}

之后通过postman请求测试:

 日志打印:

 ②实体参数请求

创建实体类User 和 Address

public class User {private String name;private Integer age;private Address address;@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", address=" + address +'}';}public void setName(String name) {this.name = name;}public void setAge(Integer age) {this.age = age;}public void setAddress(Address address) {this.address = address;}public Address getAddress() {return address;}public Integer getAge() {return age;}public String getName() {return name;}}
public class Address {private String province;private String city;@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}public void setProvince(String province) {this.province = province;}public void setCity(String city) {this.city = city;}public String getCity() {return city;}public String getProvince() {return province;}}

在controller中创建请求:

@RestController
public class RequestController {@RequestMapping("/yuanzhen")public String yzTest(String name,Integer age){System.out.println("name:"+name+",age:"+age);return  "请求成功";}@RequestMapping("/yzTestBean")public String yzTestBean(User user){System.out.println("user:"+user);return  "请求成功";}
}

运行程序

在postman中测试:

日志打印:

 ③数组集合参数

在controller中创建请求:

@RestController
public class RequestController {@RequestMapping("/yzTestList")public String yzTestList(@RequestParam List<String> name){System.out.println("name:"+name);return  "请求成功";}
}

在postman中请求:

日志中输出:

注意:

④日期参数

 在controller中创建请求:

@RestController
public class RequestController {@RequestMapping("/yzTestDate")public String yzTestDate(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time){System.out.println("time:"+time);return  "请求成功";}
}

在postman中请求:

日志打印:

 ⑤Json参数

注意:

 在controller中添加请求:

@RestController
public class RequestController {@RequestMapping("/yuanzhen")public String yzTest(String name,Integer age){System.out.println("name:"+name+",age:"+age);return  "请求成功";}@RequestMapping("/yzTestBean")public String yzTestBean(User user){System.out.println("user:"+user);return  "请求成功";}@RequestMapping("/yzTestList")public String yzTestList(@RequestParam List<String> name){System.out.println("name:"+name);return  "请求成功";}@RequestMapping("/yzTestDate")public String yzTestDate(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time){System.out.println("time:"+time);return  "请求成功";}@RequestMapping("/yzTestJson")public String yzTestJson(@RequestBody User user){System.out.println("user:"+user);return  "请求成功";}
}

在postman中使用:

日志打印输出:

 ⑥路径参数

 在controller中创建请求:


@RestController
public class RequestController {@RequestMapping("/yzTestPath/{name}")public String yzTestPath(@PathVariable String name){System.out.println("name:"+name);return  "请求成功";}
}

在postman中请求:

日志输出:

相关文章:

Java---SpringBoot详解一

人性本善亦本恶&#xff0c; 喜怒哀乐显真情。 寒冬暖夏皆有道&#xff0c; 善恶终归一念间。 善念慈悲天下广&#xff0c; 恶行自缚梦难安。 人心如镜自省照&#xff0c; 善恶分明照乾坤。 目录 一&#xff0c;入门程序 ①&#xff0c;创建springboot工程&#…...

MFC扩展库BCGControlBar Pro v35.0 - 可视化管理主题等全新升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.0已全新发布了&#xff0c;这个版本改进类Visual Studio 2022的视觉主题、增强对多个…...

Springboot 配置 log4j2 时的注意事项

感谢博主 https://www.cnblogs.com/fishlittle/p/17950944 依赖 SpringBoot 的 spring-boot-starter/ spring-boot-starter-web 自带的是 logback 日志&#xff0c;若要使用 log4j2 日志&#xff0c;需要引入对应依赖。logback 日志和 log4j2 日志都是对 slf4j 门面的实现&am…...

微服务-初级篇

微服务-初级篇 认识微服务1.1 单体架构1.2 分布式架构1.3 微服务 SpringCloud2.1 了解2.2 服务拆分原则2.3 服务拆分效果 Nacos注册中心3.1 认识和安装Nacos3.1.1 Nacos下载3.1.2 Nacos安装 3.2 服务注册到Nacos Feign远程调用4.1 Feign引入4.2 Feign配置 认识微服务 1.1 单体…...

批量制作word表格

问题背景 将excel表中的成绩内容制作为成绩单&#xff0c;每页对应一个学员的成绩&#xff0c;方便打印 代码实现 ## 导入包 import pandas as pd from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH,WD_LINE_SPACING# 读取 Excel 内容 df pd.read_e…...

代码随想录算法训练营:27/60

非科班学习算法day27 | LeetCode455:分发饼干 &#xff0c;Leetcode376:摆动序列 &#xff0c;Leetcode53:最大子数组和 介绍 包含LC的两道题目&#xff0c;还有相应概念的补充。 相关图解和更多版本&#xff1a; 代码随想录 (programmercarl.com)https://programmercarl.c…...

Redis 中String类型操作命令(命令演示,时间复杂度,返回值,注意事项)

String 类型 文章目录 String 类型set 命令get 命令mset 命令mget 命令get 和 mget 的区别incr 命令incrby 命令decr 命令decrby 命令incrbyfloat 命令append 命令getrange 命令setrange 命令 字符串类型是 Redis 中最基础的数据类型&#xff0c;在讲解命令之前&#xff0c;我们…...

2024亚太杯中文赛B题洪水灾害的数据分析与预测原创论文分享

大家好&#xff0c;从昨天肝到现在&#xff0c;终于完成了2024年第十四届 APMCM 亚太地区大学生数学建模竞赛B题洪水灾害的数据分析与预测的完整论文啦。 实在精力有限&#xff0c;具体的讲解大家可以去讲解视频&#xff1a; 2024亚太杯中文赛B题洪水灾害预测原创论文保姆级教…...

Oracle 19c 统一审计表清理

zabbix 收到SYSAUX表空间告警超过90%告警&#xff0c;最后面给出的清理方法只适合ORACLE 统一审计表的清理&#xff0c;传统审计表的清理SYS.AUD$不适合&#xff0c;请注意。 SQL> Col tablespace_name for a30 Col used_pct for a10 Set line 120 pages 120 select total.…...

PostgreSQL(二十二)缓冲区管理器

目录 一、缓冲区概述 1、缓冲区结构 2、buffer_tag结构 3、Backend进程读取操作 4、写脏块 二、缓冲区管理器结构 1、第一层&#xff1a;Buffer Table layer&#xff08;缓冲区表层&#xff09; 2、第二层&#xff1a;Buffer Descriptor Layer&#xff08;缓冲区描述层…...

流程制造业与离散制造业有何差异?流程行业智能制造关注什么?

在当今快速发展的工业领域&#xff0c;智能制造已经成为推动制造业转型升级的关键力量。随着“工业4.0”概念的提出&#xff0c;智能制造的理念和技术被广泛应用于各个制造行业&#xff0c;包括离散制造业和流程制造业。尽管智能制造的起源和发展在很大程度上受到了离散制造业的…...

【论文速读】《面向深度学习的联合消息传递与自编码器》,无线AI的挑战和解决思路

这篇文章来自华为的渥太华无线先进系统能力中心和无线技术实验室&#xff0c;作者中有大名鼎鼎的童文。 一、自编码架构的全局收发机面临的主要问题 文章对我比较有启发的地方&#xff0c;是提到自编码架构的全局收发机面临的主要问题&#xff1a; 问题一&#xff1a;基于随…...

C++从入门到起飞之——输入输出!

目录 1.命名空间 1.1namespace的价值 1.2namespace的定义 1.3命名空间使⽤ 2.C输⼊&输出 3.完结散花 个人主页&#xff1a;秋风起&#xff0c;再归来~ C从入门到起飞 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克心守己…...

米文AD10配置gmsl摄像头操作

一、进入桌面快捷方式 0、设置摄像头型号 miivii_websettings.desktop 设置摄像头 1、获取camera信息 cat /var/log/gmsl_camera.lognvidiamiivii-tegra:~$ cat /var/log/gmsl_camera.log attestationVerify [13] succeed. [INFO ]: miivii gmsl service start! [INFO ]: V…...

【Selenium配置】WebDriver安装浏览器驱动(ChromeEdge)

【Selenium配置】WebDriver安装浏览器驱动&#xff08;Chrome&Edge&#xff09; 文章目录 【Selenium配置】WebDriver安装浏览器驱动&#xff08;Chrome&Edge&#xff09;Chrome确认Chrome版本下载对应driver把解压后的chromedriver文件放在chrome安装目录下&#xff0…...

预测算法面试

这次面试的是一个预测算法的岗位。虽然我对供应链相关的预测很厌烦了&#xff0c;但是这个不是供应链领域的&#xff0c;感觉应该还好。 首先在介绍工作经历和项目部分&#xff0c;这次面试没有上来没有条理乱说一气&#xff0c;而是预测目标、算法架构、各种使用特征这些分层…...

号称世界上第一个开源实时翻译的 App,微软开源GraphRAG:极大增强大模型问答、摘要、推理,以及开源基于ChatGPT的超级文本代码智能体(附代码地址)

号称世界上第一个开源实时翻译的 App&#xff0c;微软开源GraphRAG&#xff1a;极大增强大模型问答、摘要、推理&#xff0c;以及开源基于ChatGPT的超级文本代码智能体&#xff08;附代码地址&#xff09; 在「端侧」上实现可离线的「实时同传」翻译&#xff0c;支持 29 语言的…...

PyTorch 2-深度学习-模块

PyTorch 2-深度学习-模块 一: pytorch1> pytorch 介绍2> pytorch 作用3> pytorch 优点4> pytorch 流程二:pytorch 模块1> torch.Tensor 模块2> torch.nn模块3> torch.nn.function模块4> torch.random模块5> torch.onnx模块6> torch.sparse模块7…...

【MyBatis】MyBatis 理论 40 问(二)

《MyBatis 理论 40 问》包含以下 2 篇文章&#xff1a; MyBatis 理论 40 问&#xff08;一&#xff09;MyBatis 理论 40 问&#xff08;二&#xff09; MyBatis 理论 40 问&#xff08;二&#xff09; 21.如何获取生成的主键&#xff1f;22.当实体类中的属性名和表中的字段名不…...

数据分析——Python网络爬虫(三){爬虫基本原理}

爬虫基本原理 爬虫基本流程拉取什么数据JavaScript渲染页面cookies爬虫代理检查robots.txt爬虫的攻与防 爬虫基本流程 • 获取网页源代码&#xff1a;通过库来实现&#xff0c;urllib&#xff0c;requests等实现http请求    • 提取信息&#xff1a;分析网页源代码&#xff0…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...

自定义线程池1.2

自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本&#xff0c;将线程池中的线程数量交给使用者决定&#xff0c;并且将线程的创建延迟到任务提交的时候&#xff0c;在本文中我们将对这个版本进行如下的优化&#xff1a; 在新建线程时交给线程一个任务。让线程在某种情况下…...

SQLSERVER-DB操作记录

在SQL Server中&#xff0c;将查询结果放入一张新表可以通过几种方法实现。 方法1&#xff1a;使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构&#xff08;包括列名和数据类型&#xff09;将与查询结果匹配。 SELECT * INTO 新…...

多模态学习路线(2)——DL基础系列

目录 前言 一、归一化 1. Layer Normalization (LN) 2. Batch Normalization (BN) 3. Instance Normalization (IN) 4. Group Normalization (GN) 5. Root Mean Square Normalization&#xff08;RMSNorm&#xff09; 二、激活函数 1. Sigmoid激活函数&#xff08;二分类&…...

关于疲劳分析的各种方法

疲劳寿命预测方法很多。按疲劳裂纹形成寿命预测的基本假定和控制参数&#xff0c;可分为名义应力法、局部应力一应变法、能量法、场强法等。 1名义应力法 名义应力法是以结构的名义应力为试验和寿命估算的基础&#xff0c;采用雨流法取出一个个相互独立、互不相关的应力循环&…...