spring学习笔记一

前言(第一性原理)

  • 那么spring解决问题:JAVA开发框架,spring是用来解决企业级Java应用开发的问题。

通过依赖注入和面向切面编程来灵活管理和配置代码,提供一套工具来帮助开发和配置代码,提供了声明式事务管理,简化事务处理。

  • springboot的作用是:java开发框架,简化spring开发的创建配置和部署。

解决spring开发中遇到的一些麻烦问题,帮助spring进行快速,高校,有框架模式的开发。

  • springcloud的作用是:在springboot框架的基础上,提供一系列开发工具简化开发和管理

springcloud介绍

多个服务之间的协调

1.1通过nacos来进行服务发现

1.2通过openfeign来进行服务调用(在openfeign中使用ribbon协议调用)

1.3通过ribbon进行负载均衡

1.4通过sentinel进行限流和熔断

客户端和服务端之间的协调

2.1通过api gateway进行访问路由

2.2通过nacos进行服务发现

2.3通过在api gateway中设置ribbon进行负载,已可以通过nginx进行负载

2.4通过在api gateway中设置sentinel进行限流和熔断

2.5通过spring security进行安全设置

未完

springboot介绍

应用:前端+后端

后端:API层,service层,data access层,数据库层(从后往前理解)

数据库层

DataAccess层

1.JPA接口@repository

用@repository来标识配置接口,这里的接口的作用是抽象各种方法?

2.表对象@entiry
  • 用@entiry来标识配置数据库表对象

这里的作用是通过表对象直接关联数据库中的数据,通过@table(name="student"),@id @column等这些标识来进行配置映射关系

  • 创建相关数据库的方法

service层@service

接口
实现

业务实现层,通过@service @autowired(注入reposity) @override @getmapping("student/{id}"}用大括号来传递变量  @pathvariable 指示path中的变量

API层@restcontroller

通过http restful方式提供访问网址(endpoint)

在springboot中叫controller,@restcontroller标识来api类配置,

@getmapping("/endpoint")来标识具体网址,在restful 架构中,每个网址代表一种资源,所以网址中不能有动词,都是名称

http动词:

get(select)从服务器查询一个资源

post(create)在服务器新建一个资源

put(update)在服务器更新资源(客户端提供改变后的完整资源)

patch(update)在服务器更新资源(客户端提供改变的属性)

delete(delete)从服务器删除一个资源

总结

entity层数据库实体层:,是把表结构写出来和一些标准的(set和get)方法

reposity数据库访问层:接口,是把数据库访问层写出来,一些标准的方法。

service业务处理层:类,是把业务处理数据层写出来,这可以拆分为接口和类,方便做不同的实现和方法管理。一般已会把通用的业务在这里定义(比如定义访问成功或失败的泛型数据类型的访问类,在这类里面用泛型数据类型匹配所有数据)

control前端访问层:类,是把访问接口写出来,通过定义网址来定义接口,在这里可以引入service层的接口或者实现类都可以。

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

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

相关文章

AI重塑保险业未来:机器学习在风险评估、欺诈检测与客户服务中的深度应用

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

linux笔记6--shell相关

文章目录 1. 查看当前的shell类型2. ps -f命令3. 父子shell4. 分号在命令里的作用问题:环境变量echo: 5. sleep和jobssleep:jobs:例子:&: 6. 外部命令和内建命令图解外部命令type命令 7. history命令8. alias命令9. 推荐 1. 查看当前的sh…

Midjourney Describe API 使用文档

Midjourney Describe API 使用文档 Midjourney Describe API 的主要功能是通过上传图片,获取对图片的描述。使用该 API,只需要传递图片文件,API 会返回图片的详细描述。无需繁琐的参数设置,即可获得高质量的图片描述。 支持多种图…

银企直连业务

项目背景 不同银行的银企直连没有统一的标准,相同的输入输出。因此,用户需要根据每家银行提供的技术文档定制化地完成调用、获取数据。银企直连就是为了解决这些难题。引入银企直连后,企业的业务系统可与各家银行对接,实现标准化…

StarRocks与ClickHouse:简要快速选型对比

1. 引言 在大数据分析领域,高性能的数据库系统是关键。StarRocks和ClickHouse作为列式存储数据库的代表,各自具有独特的优势。本文将深入探讨它们的特性和适用场景,为选择合适的数据库系统提供参考。 2. StarRocks与ClickHouse简介 2.1 St…

华为机考入门python3--(30)牛客30-字符串合并处理

分类:字符串、进制转换 知识点: 获取偶数下标的字符 even_chars my_str[::2] 获取奇数下标的字符 odd_chars my_str[1::2]) 翻转字符串 reversed_str my_str[::-1] 二进制转十进制 num int(reversed_binary, 2) 十进制转十六进制 …

JDBC使用QreryRunner简化SQL查询注意事项

QreryRunner是Dbutils的核心类之一,它显著的简化了SQL查询,并与ResultSetHandler协同工作将使编码量大为减少。 注意事项 1. 使用QreryRunner必须保证实体类的变量名,和sql语句中要查找的字段名必须相同,否则查询 不到数据,会出…

Oracle中创建子查询临时表

1. 创建子查询临时表,当前会话中可以查询到,创建临时表需要指定表空间,不然会使用默认的表空间。 CREATE TABLE temp_table TABLESPACE tablespace_name AS SELECT id, number, count(1) AS total FROM example_table GROUP BY id, number…

Dubbo生态之nacos

1.Nacos简介 在博客Dubbo生态之初识dubbo协议-CSDN博客种我们已经介绍了为什么要使用注册中心,nacos作为注册中心的一种,相对于其它的主流注册中心有什么区别呢? NacosEurekaZookeeper数据存储存储在内存存储在内存存储在内存通信协议gRPChttpjute协议…

R实验 非参数性检验(二)

实验目的: 了解符号检验,掌握Wilcoxon符号秩检验,Wilcoxon秩和检验; 掌握Pearson拟合优度c2检验,Shapiro-Wilk 正态性检验,了解Kolmogorov-Smirnov单样本和双样本检验); 实验内容&…

06. Redis 主从复制

文章目录 概念主从复制主从复制的作用 环境配置总结复制原理 宕机后手动配置主机 概念 主从复制 是指将一台 Redis 服务器的数据复制到其他的 Redis 服务器: 前者称为主节点(master/leader),后者成为从节点(slave/f…

[数组查找]1.图解线性查找及其代码实现

线性查找 线性查找是一种在数组中查找数据的算法。与二分查找不同,即便数据没有按顺序存储,也可以应用线性查找。线性查找的操作很简单,只要在数组中从头开始依次往下查找即可。虽然存储的数据类型没有限制,但为了便于理解&#x…

windows 下nginx常用命令

1、启动,目录cmd,后 start nginx.exe 2.重新加载 nginx -s reload 3.查看状态 tasklist /fi “imagename eq nginx.exe” 4.关闭 nginx -s quit

头晕、心悸…你们小年轻配不上张俊杰的霸王茶姬,还要奔上市

近日,有多名网友在社交平台反映称,自己在喝了霸王茶姬的新品“万里木兰”奶茶后,出现了失眠、头晕、心悸等不同程度的不适症状,霸王茶姬方面则表示“可能是茶多酚过敏”。 而就在几天前举行的“2024年国际茶日现代东方茶创新论坛…

java —— 连接 MySQL 操作

MySQL 是独立于 java 之外的数据库,二者之间建立连接需要提前引入 mysql-connector-java 的 jar 包。 一、引入方法: ① 在项目中新建一个 Folder(即文件夹),该文件夹通常命名为 lib,意思是存放项目所依赖…

揭秘 淘宝死店采集私信筛选,号称日赚500+

淘宝死店采集工具为电子商务创业者揭示了一个领域的新机遇,通过提供一系列深入分析和资源挖掘的功能,展现了从失败中寻找成功之道的独特方法论。以下是如何通过这种工具寻找电商平台中的隐含机会的几个关键方面: 分析失败的深层原因&#x…

一文搞懂 Transformer(总体架构 三种注意力层)

本文将从Transformer的本质、Transformer_的原理_、_Transformer的应用__三个方面,带您一文搞懂Transformer(总体架构 & 三种注意力层)。 节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友…

ISCC2024个人挑战赛WP-DLLCode

&#xff08;非官方解&#xff0c;以下内容均互联网收集的信息和个人思路&#xff0c;仅供学习参考&#xff09; 注意到程序调用了Encode函数对明文进行加密&#xff0c;点进去发现是对外部DLL的调用 静态分析DLL中的Encode函数可以得到 写出对应的解密脚本如下 #include <…

Ollama| 搭建本地大模型,最简单的方法!效果直逼GPT

很多人想在本地电脑上搭建一个大模型聊天机器人。总是觉得离自己有点远&#xff0c;尤其是对ai没有了解的童鞋。那么今天我要和你推荐ollama&#xff0c;无论你是否懂开发&#xff0c;哪怕是零基础&#xff0c;只需十分钟&#xff0c;Ollama工具就可以帮助我们在本地电脑上搭建…

2024/5/26周报

文章目录 摘要Abstract文献阅读题目创新点方法网络架构LSTM 实验过程Data acquisitionData preprocessingAlgorithm parameter settingsModels evaluation Performances of different models in indoor air temperature prediction 深度学习ARIMA一、ARIMA模型的基本思想二、AR…