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中请求:

日志输出:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/375367.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache配置与应用(优化apache)

Apache配置解析&#xff08;配置优化&#xff09; Apache链接保持 KeepAlive&#xff1a;决定是否打开连接保持功能&#xff0c;后面接 OFF 表示关闭&#xff0c;接 ON 表示打开 KeepAliveTimeout&#xff1a;表示一次连接多次请求之间的最大间隔时间&#xff0c;即两次请求之间…

秋招Java后端开发冲刺——Mybatis使用总结

一、基本知识 1. 介绍 MyBatis 是 Apache 的一个开源项目&#xff0c;它封装了 JDBC&#xff0c;使开发者只需要关注 SQL 语句本身&#xff0c;而不需要再进行繁琐的 JDBC 编码。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java POJO&#xff08;Plain …

【网络安全科普】网络安全指南请查收

随着社会信息化深入发展&#xff0c;互联网对人类文明进步奖发挥更大的促进作用。但与此同时&#xff0c;互联网领域的问题也日益凸显。网络犯罪、网络监听、网络攻击等是又发生&#xff0c;网络安全与每个人都息息相关&#xff0c;下面&#xff0c;一起来了解网络安全知识吧。…

开放式耳机哪款性价比高?这五款超值精品不容错过

喜欢进行户外运动的小伙伴们&#xff0c;应该都很需要一款既可以匹配运动场景&#xff0c;又兼顾音质体验的无线蓝牙耳机吧。而开放式耳机拥有佩戴舒适牢固&#xff0c;不堵塞耳部&#xff0c;不影响外部声音传入耳部的优点&#xff0c;完全可以成为运动健身人士户外运动的好伴…

『C + ⒈』‘\‘

&#x1f942;在反斜杠(\)有⒉种最常用的功能如下所示&#x1f44b; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) {int a 10;int b 20;int c 30;if (a 10 &&\b 20 &&\c 30){printf("Your print\n");}else{prin…

Java 多继承与接口

Java 多继承与接口 1、为什么Java不支持多继承&#xff1f;2、使用接口实现多继承2.1 接口的定义与实现 3、接口的优点4、结论 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 多继承是指一个类可以继承多个父类&#xff0c;从而获得多个父类…

Spring Boot Vue 毕设系统讲解 3

目录 项目配置类 项目中配置的相关代码 spring Boot 拦截器相关知识 一、基于URL实现的拦截器&#xff1a; 二、基于注解的拦截器 三、把拦截器添加到配置中&#xff0c;相当于SpringMVC时的配置文件干的事儿&#xff1a; 项目配置类 项目中配置的相关代码 首先定义项目认…

java使用poi-tl模版引擎导出word之if判断条件的使用

文章目录 模版中if语句条件的使用1.数据为False或空集合2.非False或非空集合 模版中if语句条件的使用 如果区块对的值是 null 、false 或者空的集合&#xff0c;位于区块中的所有文档元素将不会显示&#xff0c;这就等同于if语句的条件为 false。语法示例&#xff1a;{{?stat…

Anthropic发布新工具改进大语言模型;商汤科技发布全球首个支持泰文的AI大模型

&#x1f989; AI新闻 &#x1f680; Anthropic发布新工具改进大语言模型 摘要&#xff1a;Anthropic 公司推出多项基于 Claude 3.5 Sonnet 大语言模型的新工具&#xff0c;提升提示词生成和测试能力。新增的“评估”单元帮助开发者自动化生成和微调提示&#xff0c;改进任务…

Kubernetes基于helm部署jenkins

Kubernetes基于helm安装jenkins jenkins支持war包、docker镜像、系统安装包、helm安装等。在Kubernetes上使用Helm安装Jenkins可以简化安装和管理Jenkins的过程。同时借助Kubernetes&#xff0c;jenkins可以实现工作节点的动态调用伸缩&#xff0c;更好的提高资源利用率。通过…

LabVIEW远程实验数据采集系统

随着科学研究的不断发展&#xff0c;实验室对远程数据采集和监控的需求越来越高。传统的数据采集方式往往需要实验人员亲临现场&#xff0c;费时费力&#xff0c;且数据实时性较差。为了解决这些问题&#xff0c;基于LabVIEW开发了一套远程实验数据采集系统&#xff0c;实现对实…

PPTP、L2TP、IPSec、IPS 有什么区别?

随着互联网的发展&#xff0c;保护网络通信的安全越来越重要。PPTP、L2TP、IPSec、IPS是常见的网络安全协议和技术&#xff0c;在保护网络通信安全方面发挥着不同的作用和特点。下面介绍PPTP、L2TP、IPSec、IPS之间的区别。 点对点隧道协议&#xff08;PPTP&#xff09;是一种用…

JVM是如何管理内存的?图文详解GC垃圾回收算法

前言&#xff1a;在C/C中对于变量的内存空间一般都是由程序员手动进行管理的&#xff0c;往往会伴随着大量的 malloc 和 free 操作&#xff0c;常常会有很多问题困扰开发者&#xff0c;这个代码会不会发生内存泄漏&#xff1f;会不会重复释放内存&#xff1f;但是在Java开发中我…

各地户外分散视频监控点位,如何实现远程集中实时监看?

公司业务涉及视频监控项目承包搭建&#xff0c;此前某个项目需求是为某林业公司提供视频监控解决方案&#xff0c;需要实现各地视频摄像头的集中实时监看&#xff0c;以防止国家储备林的盗砍、盗伐行为。 公司原计划采用运营商专线连接各个视频监控点位&#xff0c;实现远程视…

Redis的缓存雪崩,击穿,穿透的介绍

1.缓存雪崩 为保证缓存中的数据与数据库的数据一致,会给Redis里的数据设置一个过期时间,当缓存数据过期后,用户访问的数据如果不在缓存里,业务系统需要重新生成新的缓存,因为就会访问数据库,并将数据更新到Redis里,这样后续请求就可以直接命中缓存. 当大量缓存在同一时间过期或…

解决:WPS,在一个表格中,按多次换行,无法换到下一页

现象&#xff1a;在一个表格里面&#xff0c;多次按下回车&#xff0c;始终无法到下一页 解决方法&#xff1a;右击—>表格属性—>选择行—>勾选 允许跨页断行 效果演示 对比展示

基于Python+Flask+MySQL的新冠疫情可视化系统

基于PythonFlaskMySQL的新冠疫情可视化系统 FlaskMySQL 基于PythonFlaskMySQL的新冠疫情可视化系统 项目主要依赖前端&#xff1a;layui&#xff0c;Echart&#xff0c;后端主要是Flask&#xff0c;系统的主要支持登录注册&#xff0c;Ecahrt构建可视化图&#xff0c;可更换主…

004-基于Sklearn的机器学习入门:回归分析(下)

本节及后续章节将介绍机器学习中的几种经典回归算法&#xff0c;包括线性回归&#xff0c;多项式回归&#xff0c;以及正则项的岭回归等&#xff0c;所选方法都在Sklearn库中聚类模块有具体实现。本节为下篇&#xff0c;将介绍多项式回归和岭回归等。 目录 2.3 多项式回归 2…

从零开始的python学习生活2

接上封装 class Phone:__volt0.5def __keepsinglecore(self):print("让cpu以单核运行")def if5G(self):if self.__volt>1:print("5G通话已开启")else:self.__keepsinglecore()print("电量不足&#xff0c;无法使用5G通话&#xff0c;已经设置为单…

使用F1C200S从零制作掌机之debian文件系统完善NES

一、模拟器源码 源码&#xff1a;https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip 二、文件系统 文件系统&#xff1a;debian bullseye 使用builtroot2018构建的文件系统&#xff0c;使用InfoNES模拟器存在bug&#xff0c;搞不定&#xff0c;所以放弃&…