Spring
文章平均质量分 80
Alonzo de blog
这个作者很懒,什么都没留下…
展开
-
RabbitMQ交换机与队列
当这样做的时候,我们需要明白一点,在AMQP 0-9-1中,消息的负载均衡是发生在消费者(consumer)之间的,而不是队列(queue)之间。延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列。(7)x-dead-letter-routing-key:死信消息路由键,在消息发送到死信交换器时会使用该路由键,如果不设置,则使用消息的原来的路由键值。原创 2024-01-23 15:25:04 · 1673 阅读 · 1 评论 -
RabbitMQ发布确认
confirm 模式最大的好处在于他是异步的,一旦发布一条消息,生产者应用程序就可以在等信道返回确认的同时继续发送下一条消息,当消息最终得到确认之后,生产者应用便可以通过回调方法来处理该确认消息,如果 RabbitMQ 因为自身内部错误导致消息丢失,就会发送一条 nack 消息,生产者应用程序同样可以在回调方法中处理该 nack 消息。这种确认方式有一个最大的缺点就是:发布速度特别的慢, 因为如果没有确认发布的消息就会阻塞所有后续消息的发布,这种方式最多提供每秒不超过数百条发布消息的吞吐量。原创 2024-01-23 15:24:27 · 664 阅读 · 0 评论 -
rabbitMQ Work Queues
工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。原创 2024-01-23 15:24:03 · 1105 阅读 · 0 评论 -
RabbitMQ介绍
Broker:接收和分发消息的应用, RabbitMQ Server 就是 Message Broker:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个 vhost,每个用户在自己的 vhost 创建 exchange/ queue 等Connection: publisher/ consumer 和 broker 之间的 TCP 连接。原创 2024-01-20 20:35:07 · 1454 阅读 · 0 评论 -
消息队列介绍
MQ(message queue),本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不 用依赖其他服务。原创 2024-01-20 20:34:10 · 1194 阅读 · 0 评论 -
SpringBoot整合WebSocket
WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。HTTP是短连接WebSocket是长连接HTTP通信是单向的,基于请求响应模式WebSocket支持双向通信HTTP和WebSocket底层都是TCP连接**思考:**既然WebSocket支持双向通信,功能看似比HTTP强大,那么我们是不是可以基于WebSocket开发所有的业务功能?原创 2024-01-18 19:47:15 · 932 阅读 · 0 评论 -
Spring Task
是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。定位:定时任务框架作用:定时自动执行某段Java代码。原创 2024-01-18 19:46:39 · 371 阅读 · 0 评论 -
小程序微信支付
支付大家应该都不陌生了,在现实生活中经常购买商品并且使用支付功能来付款,在付款的时候可能使用比较多的就是微信支付和支付宝支付了。在苍穹外卖项目中,选择的就是微信支付这种支付方式。要实现微信支付就需要注册微信支付的一个商户号,这个商户号是必须要有一家企业并且有正规的营业执照。只有具备了这些资质之后,才可以去注册商户号,才能开通支付权限。个人不具备这种资质,所以我们在学习微信支付时,最重要的是了解微信支付的流程,并且能够阅读微信官方提供的接口文档,能够和第三方支付平台对接起来就可以了。原创 2024-01-17 21:56:22 · 1022 阅读 · 0 评论 -
HttpClient
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。发送HTTP请求接收响应数据当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时应用程序本身可能并未实现这些功能,都是在应用程序里访问提供这些功能的服务,访问这些服务需要发送HTTP请求,并且接收响应数据,可通过HttpClient来实现。原创 2024-01-12 18:41:32 · 1019 阅读 · 0 评论 -
小程序微信登陆
小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。原创 2024-01-12 18:40:19 · 535 阅读 · 0 评论 -
JWT---JSON Web Token
JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。传统的做法是将已经认证过的用户信息存储在服务器上,比如Session。HTTP协议是无状态的,也就是说,如果我们已经认证了一个用户,那么他下一次请求的时候,服务器不知道我是谁,我们必须再次认证。然而,Session是在服务器端的,而JWT是在客户端的。基于Token的身份认证是无状态的,服务器或者Session中不会存储任何用户信息。原创 2024-01-11 20:51:25 · 1042 阅读 · 0 评论 -
SpringBoot AOP
自定义注解 @AutoFill/*** 自定义注解,用于标识某个方法需要进行功能字段自动填充*///数据库操作类型:UPDATE、INSERT。原创 2024-01-10 20:11:37 · 498 阅读 · 1 评论 -
springboot解决跨域问题
springboot解决跨域问题CORS配置package com.music.musicserver.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebM原创 2022-03-28 21:51:16 · 209 阅读 · 0 评论 -
SpringMVC-04
一、HttpMessageConverterHttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,ResponseEntity1、@RequestBody@RequestBody可以获取请求体,需要在控制器方法设置一个形参,使用@RequestBody进行标识,当前请求的请求体就会为当前注原创 2022-02-09 22:04:41 · 68 阅读 · 0 评论 -
RESTful风格
RESTful1、RESTful简介REST:Representational State Transfer,表现层资源状态转移。a>资源资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件、数据库中的一张表等等具体的东西,可以将资源设计的要多抽象有多抽象,只要想象力允许而且客户端应用开发者能够理解。与面向对象设计类似,资源是以名词为核心来组织的,首先关注的是名词。一个原创 2022-02-09 22:03:10 · 59 阅读 · 0 评论 -
SpringMVC-03
一、SpringMVC的视图SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图当工程引入jstl的依赖,转发视图会自动转换为JstlView若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView1、ThymeleafView当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名原创 2022-02-09 22:01:57 · 56 阅读 · 0 评论 -
SpringMVC-02
一、@RequestMapping注解1、@RequestMapping注解的功能从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。2、@RequestMapping注解的位置@RequestMapping标识一个类:设置映射请求的请求路径的初始信息@RequestMapping标识一个方法:设置映射请求请求路径的具体信息@Cont原创 2022-02-09 22:00:51 · 63 阅读 · 0 评论 -
SpringMVC-01
一、SpringMVC简介1、什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数据JavaBean分为两类:一类称为实体类Bean:专门存储业务数据的,如 Student、User 等一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指原创 2022-02-09 21:58:41 · 99 阅读 · 0 评论 -
Spring整合JUnit4
Spring整合Junit4进行单元测试导入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.14</version> </dependency>原创 2022-02-02 22:27:12 · 957 阅读 · 1 评论 -
Spring AOP
AOP简介在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP的做法是将通用、与业务无关的功能抽象封装为切面类切面可配置在目标方法的执行前、后运行,真正做到即插即用,在不修改源码的情况下,对程序进行扩展AOP底层原理AOP底层使用动态代理有接口情况,使用JDK动态代理没有接口情况,使用CGLIB动态代理JDK动态代理需要使用 Proxy类的newProInstanc原创 2022-02-02 22:10:22 · 466 阅读 · 0 评论 -
Spring-IoC-03
bean scope属性singleton单例singleton是容器默认的scope,所以写和不写没有区别。scope为singleton的时候,在Spring的IoC容器中只存在一个实例,所有对该对象的引用将共享这个实例。该实例从容器启动,并因为第一次被请求而初始化后,将一直存活到容器退出,也就是说,它与IoC容器“几乎”拥有相同的寿命对象实例数量:singleton类型的bean定义,在一个容器中只存在一个共享实例,所有对该类型bean的依赖都引用这一单一实例对象存活时间:singlet原创 2022-02-02 22:09:25 · 472 阅读 · 0 评论 -
Spring IoC-02
entity类Apple.javapackage com.spring.ioc.entity;public class Apple { private String title; private String color; private String origin; public Apple() { System.out.println("Apple对象已经创建,"+this); } public Apple(String tit原创 2022-01-10 22:34:54 · 269 阅读 · 0 评论 -
Spring IoC-01
entity类Apple.javapackage com.spring.ioc.entity;public class Apple { private String title; private String color; private String origin; public Apple() { System.out.println("Apple对象已经创建,"+this); } public Apple(String tit原创 2022-01-10 22:32:40 · 70 阅读 · 0 评论 -
IoC控制反转
IoC控制反转IoC控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。DIDI—Dependency Injection,即“依赖注入”:原创 2022-01-10 22:28:49 · 3454 阅读 · 0 评论