springboot小白入门

创建启动 省略。。。

第二章 springboot接口

本章学习:
1.接口定义
2.接收数据
3.返回数据

@RestController注解,相当于@ResponseBody@Controller@Controller负责接收用户的请求@ResponseBody把数据写入到HTTP响应体的`body`部分@RequestMapping注解是用来映射请求的
1、简单参数接收
get请求http://localhost:8080/simple?name=aaa&age=12
post请求请求体{name:a,age:2}简单参数只要形式参数一样,就可以直接接收到
@RestController
public class requestController {@RequestMapping("/simple")public String simple(String name,Integer age){System.out.println(name+":"+age);return "ok";}
}@RequestParam 用于接收参数的别名,
2、接收嵌套对象参数
假设接收这样一个参数{name:a,age:1,adress:{city:1,privonce:1}
}
 x-www-form-urlencoded格式参数
java里面要定义对应的实体类@RequestMapping("/simple")public String simple(User user){System.out.println(user);return "ok";}代码比较多,就不黏贴了。
创建一个实体类,快速 生成对应的get set 方法 和 tostring方法
3、 接收数组集合
 x-www-form-urlencoded
接收 数组参数@RequestMapping("/simple")public String simple(String [] hobby){System.out.println(Arrays.toString(hobby) );return "ok";}
 x-www-form-urlencoded
接收 集合参数
@RequestParam 去注解@RequestMapping("/simple")public String simple111(@RequestParam List<String> hobby){System.out.println(hobby );return "ok";}
4、接收时间
    @RequestMapping("/simple1111")public String simple1111(@DateTimeFormat(pattern = "yyyy-mm-dd hh:mm:aa")LocalDateTime updataTime){System.out.println(updataTime );return "ok";}
5、接收json参数
postman 选择 post请求,选择 raw 选择JOSN@RequestMapping("/simple")public String simple(@RequestBody User user){System.out.println(user);return "ok";}
6、接收路径参数
    @RequestMapping("/path/${id}")public String simple21(@PathVariable Integer id){System.out.println(id);return "ok";}@RequestMapping("/path/${id}/${id2}")public String simple21(@PathVariable Integer id,@PathVariable Integer id2 ){System.out.println(id+id2);return "ok";}
8、使用postman测试接口

get:请求

query拼接参数
https://www.baidu.com/s?ie=9&a=1

post:请求


application/json:用于传输JSON格式的数据。application/x-www-form-urlencoded:用于传输HTML表单数据,即URL编码的键值对。multipart/form-data:用于传输文件和二进制数据。text/plain:用于传输纯文本数据。raw json

第二章 分层架构 IOC&DI

1、分三层

controller 接口定义处理
service 业务逻辑处理
Dao 数据库操作

最简单的理解就是分到3个文件夹里了,个干各自的事情 ,就是分了三层。
但是,controller 要调用 service ,service 要调用 Dao
所以分了3层,又要调用别的层,又要耦合了,所以要解耦了
分三层的三个注解

@Compontent 生成@bean的基础注解@Controller 注解 Controller@Service 注解service类
@Repository 注解DOC类
他们3个底层包含了@Compontent注解而我们上面讲过,
@RestController注解,相当于@ResponseBody@Controller
@Controller 包含了 @Compontent
2、解耦

容器就理解成一个普通对象
依赖注入,就是,把创建service对象和Dao对象,赋值到容器对象的属性了。
所以使用对象的时候,不用实例化对象了,而是直接从容器对象里面调用
所以IOC 就是这个概念,

IOC 控制反转:对象的创建和控制权由程序自身转移到了外部(容器)
DI 依赖注入:容器为应用提供运行时,所需的依赖资源
Bean对象:IOC容器中创建、管理的对象

3、代码示例

在这里插入图片描述

解耦的注解

解耦分2步

第一步:控制反转
@Component 将当前类交给IOC容器管理,成为IOC容器中的bean对象
第二步:依赖注入
@Autowrite 运行时,IOC容器会提供该类的bean对象,并且自动赋值
依赖注入的注解:如果同类型的bean存在多个:
@Primary
@Autowired+@Qualifer(bean的名字)
@Resource(name="bean的名字")
小区别:
@Autowired 按类型注入
@Resource 安照名称注解

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

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

相关文章

【网络】传输层TCP协议

目录 一、概述 2.1 运输层的作用引出 2.2 传输控制协议TCP 简介 2.3 TCP最主要的特点 2.4 TCP连接 二、TCP报文段的首部格式 三、TCP的运输连接管理 3.1 TCP的连接建立(三次握手) 3.2 为什么是三次握手&#xff1f; 3.3 为何两次握手不可以呢&#xff1f; 3.4 TCP的…

docker 安装手册

docker 安装手册 第一步卸载旧的docker (如果安装过Docker否则跳过此步) 以防万一最好执行一遍 yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 第二步&#xff0c;安装相关…

网络安全概述---笔记总结

网络安全概述 网络安全---Cyberspace security 2003年美国提出网络空间的概念 --- 一个由信息基础设施组成的互相依赖的网络。我国官方文件定义&#xff1a;网络空间为继海&#xff0c;陆&#xff0c;空&#xff0c;天以外的第五大人类活动领域 发展阶段&#xff1a; 通信保…

Yolov8不废话!参考手册!

Yolov8使用 yolo taskdetect modetrain modelyolov8n.pt args...classify predict yolov8n-cls.yaml args...segment val yolov8n-seg.yaml args...export yolov8n.pt formatonnx args...使用Ultralytics YOLO进行模型训练 …

2024年安全员-C证证考试题库及安全员-C证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年安全员-C证证考试题库及安全员-C证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大纲随机出的…

力扣第92题——反转链表 II(C语言题解)

题目描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1…

Linux的一些快捷键(hot keyboard)

Ctrl Alt t&#xff1a;打开bash&#xff08;就是命令框窗口&#xff09; Ctrl Alt F3~F6&#xff1a;打开tty终端&#xff08;纯命令行终端&#xff0c;每个Linux发行版不相同&#xff0c;我的是Ubuntu20版&#xff09; Alt F4&#xff1a;关闭当前窗口&#xff08;Windo…

知识图谱的广泛应用与价值

目录 前言1 语义搜索2 知识问答2.1 问答对的深度关联2.2 文本挖掘与答案精准性2.3 知识图谱问答的全面服务 3 辅助推荐4 辅助大数据分析4.1 知识图谱推理的应用4.2 知识图谱的数据分析4.3 动态本体技术的引入 5 故障诊断5.1 故障诊断系统的应用5.2 知识图谱在语言理解中的作用5…

【书生·浦语大模型实战营06】《OpenCompass 大模型评测》学习笔记

《OpenCompass 大模型评测》 文档&#xff1a;OpenCompass大模型评测教程 1、主观评测 2、提示词工程 李华每周给2个不同的朋友写一封3页的信&#xff0c;一周写两次。他一年总共写了多少页的信? 李华每周给2个不同的朋友写一封3页的信&#xff0c; 一周写两次。他一年总共…

初识java—java的运算符以及程序逻辑结构

文章目录 算术运算符关系运算符逻辑运算符(重点)逻辑与 &&逻辑 ||逻辑非&#xff01;短路求值&#xff08;重点&#xff09; 程序逻辑控制顺序结构分支结构&#xff08;if else结构&#xff09;switch语句基本语法 循环结构breakcontinue 从键盘输入 算术运算符 基本四…

pygame入门学习(四)位图的使用

大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 载入图片 pygame.image.load( )&#xff0c;Pygame 可以通过pygame.image.load( )函数处理位图文件。 大致可以支持以下文件&#xff1a;JPG…

Linux--文件链接

目录 1.建立软连接 2.建立硬链接 3.什么是软链接 Linux中软链接的应用场景 4.什么是硬链接 5.文件与目录的硬链接数 6.软链接与硬链接的区别 用户无法对目录建立硬链接&#xff0c;可以建立软连接。 在Linux中文件的链接有两种&#xff1a;1.软连接 2.硬链接 1.建立软…

Oracle 高级网络压缩 白皮书

英文版白皮书在这里 或 这里。 本文包括了对英文白皮书的翻译&#xff0c;和我觉得较重要的要点总结。 执行概述 Oracle Database 12 引入了一项新功能&#xff1a;高级网络压缩&#xff0c;作为高级压缩选项的一部分。 本文概述了高级网络压缩、其优点、配置细节和性能分析…

HTML+CSS:3D轮播卡片

效果演示 实现了一个3D翻转的卡片动画&#xff0c;其中每个卡片都有不同的图片和不同的旋转角度。整个动画循环播放&#xff0c;无限次。整个页面的背景是一个占据整个屏幕的背景图片&#xff0c;并且页面内容被隐藏在背景图片之下。 Code <div class"container"…

redis 入门及相关知识汇总

什么是 Redis &#xff1f; 1&#xff0c;相对于mysql &#xff0c;oracle &#xff0c; 这种关系西数据库&#xff0c; 我们还有非关系数据库服务&#xff0c;他的产生是为了&#xff0c;解决常规数据库的并发能力&#xff0c;传统的关系型数据库受限于IO 和性能瓶颈&#xff…

【解决方法】pdf密码忘了怎么办?

PDF文件可以加密&#xff0c;大家都不陌生&#xff0c;并且大家应该也都知道PDF文件有两种密码&#xff0c;一个打开密码、一个限制编辑密码&#xff0c;因为PDF文件设置了密码&#xff0c;那么打开、编辑PDF文件就会受到限制。忘记了PDF密码该如何解密&#xff1f; PDF和offi…

异步编程(JS)

前言 想要学习Promise&#xff0c;我们首先要了解异步编程、回调函数、回调地狱三方面知识&#xff1a; 异步编程 异步编程技术使你的程序可以在执行一个可能长期运行的任务的同时继续对其他事件做出反应而不必等待任务完成。 与此同时&#xff0c;你的程序也将在任务完成后显示…

微服务Spring Cloud架构详解

"Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具&#xff08;例如配置管理&#xff0c;服务发现&#xff0c;断路器&#xff0c;智能路由&#xff0c;微代理&#xff0c;控制总线&#xff09;。分布式系统的协调导致了样板模式, 使用Spring Cloud开…

Flowable_dmn决策引擎应用

Flowable官方文档 https://www.flowable.com/open-source/docs/dmn/ch02-Configuration 对flowable的bpmn和dmn应用都比较熟悉&#xff0c;前后应用了好几年&#xff0c;年终总结需要这部分&#xff0c;文档就写一下分享给大家&#xff0c;搭建和资源下载参考&#xff1a; flo…

怎么提升数据分析能力?——功法篇(下)

先来复习一下上篇提到的3个疑问&#xff1a; 为什么我做出来的分析总觉得没有别人的那么高级&#xff1f; 老板为什么总说我的分析“太浅了”&#xff1f; 数据分析师每天的工作就是取数做需求&#xff1f; 看完上篇讲的金字塔原理&#xff0c;如果你还有疑问&#xff0c;不妨再…