后端框架
文章平均质量分 65
博主学习后端框架的记录与总结
ITKaven
ACMER
本科软件工程专业
硕士计算机技术专业
专注于WEB开发的烟酒僧
展开
-
RabbitMQ:@RabbitListener注解简化消息监听
pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/ma原创 2022-02-17 12:34:28 · 5200 阅读 · 1 评论 -
Spring Boot:@PropertySource读取指定配置文件与解决不兼容YAML文件问题
测试代码pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x原创 2022-02-16 21:58:36 · 2697 阅读 · 0 评论 -
RabbitMQ:MessageConverter消息转换器
pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/ma原创 2022-02-16 19:37:08 · 6307 阅读 · 0 评论 -
RabbitMQ:MessageListenerAdapter消息监听器适配器使用与源码分析
pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/ma原创 2022-02-16 16:38:40 · 2369 阅读 · 0 评论 -
RabbitMQ:SimpleMessageListenerContainer并发消费
pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/ma原创 2022-02-16 14:45:11 · 3625 阅读 · 1 评论 -
RabbitMQ:整合Spring Boot
pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/ma原创 2022-02-15 23:51:35 · 1420 阅读 · 0 评论 -
Spring汇总
Spring Framework源码阅读编译 Spring Framework 5.2.17源码 & 在源码中使用 ApplicationContext 获取定义的BeanSpring Framework 源码阅读(一):Aware接口及其实现类的作用Spring Framework 源码阅读(二):BeanDefinition的作用Spring Framework 源码阅读(三):认识FactoryBeanSpring Framework 源码阅读(四):BeanPostProcess原创 2021-11-10 10:31:52 · 824 阅读 · 2 评论 -
Spring Cloud Alibaba汇总
Spring Cloud AlibabaSpring Cloud Alibaba:Nacos服务注册与发现Spring Cloud Alibaba:Nacos配置中心未完待续原创 2021-11-10 10:24:26 · 725 阅读 · 0 评论 -
Spring Cloud Alibaba:Nacos配置中心
Spring Cloud Alibaba:Nacos配置中心动态配置服务可以以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。Nacos提供了一个简洁易用的UI 帮助管理所有的服务和应用的配置。Nacos还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助更安全地在生产环境中管理配原创 2021-11-09 17:31:33 · 828 阅读 · 0 评论 -
Spring Cloud Alibaba:Nacos服务注册与发现
Spring Cloud Alibaba:Nacos服务注册与发现动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的服务实例。服务(Service)是Nacos世界的一等公民。Nacos支持几乎所有主流类型的服务的发现、配置和管理:Kubernetes ServicegRPC & Dubbo RPC ServiceSpri原创 2021-11-08 17:48:32 · 452 阅读 · 4 评论 -
前端Vue+ElementUI的Pagination分页组件实现分页展示 & 后端Spring Boot +Mybatis Plus实现分页接口
前端Vue+ElementUI的Pagination分页组件实现分页展示 & 后端Spring Boot +Mybatis Plus实现分页接口很久没有更新博客了,主要原因是博主一直在补充知识,发现自己还有很多地方不足,等博主学到一定程度再来相互探讨技术。主要是看到评论区的小伙伴说分页该怎么实现,博主就花了几个小时去实现一个小例子。ElementUI的Pagination分页组件:Pagination大家可以先看一下这个组件实现分页的效果怎么样。数据库有数据才能进行展示,为了简单,原创 2021-04-13 16:48:10 · 7020 阅读 · 6 评论 -
使用Vue和Spring Boot实现文件下载
使用Vue和Spring Boot实现文件下载推荐使用Vue和Spring Boot实现文件上传。前端这里介绍三种方式来实现文件下载,跨域问题在后端会进行处理,这个例子是下载MP4文件,我这里是直接使用HTML来写前端,如果用Vue来写,可能要防止mockjs对请求的responseType产生影响(mockjs会创建一个新的XMLHttpRequest对象,并且有着自己的原始配置。所以导致覆盖了axios的配置,如responseType等)。<!DOCTYPE html>&l原创 2020-11-11 23:21:50 · 10819 阅读 · 21 评论 -
Spring Cloud 之Zuul初使用
Spring Cloud 之Zuul初使用介绍在微服务架构中,通常会有多个服务提供者。设想一个电商系统,可能会有商品、订单、支付、用户等多个类型的服务,而每个类型的服务数量也会随着整个系统体量的增大也会随之增长和变更。作为UI端,在展示页面时可能需要从多个微服务中聚合数据,而且服务的划分位置结构可能会有所改变。网关就可以对外暴露聚合API,屏蔽内部微服务的微小变动,保持整个系统的稳定性。当然这只是网关众多功能中的一部分,它还可以做负载均衡,统一鉴权,协议转换,监控监测等一系列功能。Zuul是Spri原创 2020-11-04 22:22:56 · 778 阅读 · 1 评论 -
Spring Boot使用WebSocket实现后台消息推送
Spring Boot使用WebSocket实现后台消息推送为什么需要WebSocket?已经有了HTTP协议,为什么还需要另一个协议?这是因为HTTP协议有一个缺陷:通信只能由客户端发起。当客户端想知道某个订单是否已经完成支付,使用HTTP协议只能由客户端向服务器发出请求,服务器返回查询结果,可以知道HTTP协议做不到服务器主动向客户端推送信息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息原创 2020-11-02 20:38:53 · 1947 阅读 · 4 评论 -
使用Vue和Spring Boot实现前端图片获取
使用Vue和Spring Boot实现前端图片获取前端通过后端请求图片数据也是很常见的业务需求,这里博主给大家演示一下。前端:<template> <div class="blog"> <div class="upload"> <img :src="'data:image;base64,'+image"> <button @click="gain()"><span&原创 2020-10-30 13:12:06 · 4048 阅读 · 2 评论 -
使用Vue和Spring Boot实现文件上传
使用Vue和Spring Boot实现文件上传文件上传是开发中很常见的业务需求,这里博主通过使用Vue和Spring Boot实现一个简单的文件上传小例子。前端:<template> <div class="blog"> <div class="upload"> <input type="file" @change="fileChoose($event)"> <button @原创 2020-10-30 11:50:38 · 1545 阅读 · 5 评论 -
Spring Cloud 之Sleuth组件-结合Zipkin实现链路监控
Spring Cloud 之Sleuth组件-结合Zipkin实现链路监控随着业务的发展,服务数量会不断增加,那么各个服务之间的调用关系也会变得越来越复杂。一个HTTP请求可能会调用多个不同的服务来实现业务需求,在这个调用过程中,可能会因为某个服务出现网络延迟过高或发生错误导致请求失败,这个时候,对请求链的监控就显得尤为重要了。Spring Cloud Sleuth提供了分布式服务链路监控的解决方案。这里会介绍Spring Cloud Sleuth整合Zipkin实现链路监控。首先创建注册中心。po原创 2020-10-19 22:11:35 · 809 阅读 · 2 评论 -
Spring Cloud 之@LoadBalanced注解,看完保证你还懂@Qualifier注解
原文地址Spring Cloud 之@LoadBalanced注解,看完保证你还懂@Qualifier注解在使用Spring Cloud Ribbon客户端进行负载均衡的时候,可以给RestTemplate(Bean) 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力:package com.kaven.client.component;import org.springframework.cloud.client.loadbalancer.转载 2020-10-19 17:51:52 · 5633 阅读 · 0 评论 -
Spring Cloud 之Ribbon负载均衡
Spring Cloud 之Ribbon负载均衡简单来讲,Ribbon的主要功能是提供客户端的负载均衡。它可以在客户端配置服务名称(服务名称由注册中心维护),然后通过负载均衡算法来确定请求哪个服务(一个服务名称可能有多个服务实例),从而实现客户端负载均衡。我们这里会涉及到Eureka注册中心,两个服务提供者(server-provider),一个服务消费者(server-consumer)。创建Eureka注册中心。pom.xml如下:<?xml version="1.0" encoding原创 2020-10-19 16:50:13 · 754 阅读 · 1 评论 -
Spring Cloud 之Hystrix熔断器、Hystrix-Dashboard可视化监控中心
Spring Cloud 之Hystrix熔断器、Hystrix-Dashboard可视化监控中心为了大家能更好的了解Hystrix原理,可以读一下这篇博客:Hystrix原理在之前的博客中,我介绍了Hystrix的基本使用:Spring Cloud 之Hystrix初使用所以这里有一些重复且不相关的代码就不写了,比如注册中心,Server服务的pom.xml和application.yml、Client服务的pom.xml、application.yml以及RestTemplate组件。Serve原创 2020-10-17 16:35:42 · 835 阅读 · 2 评论 -
Spring Cloud 之Hystrix初使用
Spring Cloud 之Hystrix初使用可以先看一下这篇博客,对Hystrix有一个总体的认识:Hystrix原理先来创建注册中心。pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema原创 2020-10-17 11:33:12 · 845 阅读 · 0 评论 -
Hystrix原理
原文地址:Hystrix原理与实战(文章略长)背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。雪崩效应常见场景硬件故障:如服务器宕机,机房断电,光纤被挖断等。流量激增:如异常流量,重试加大流量等。缓存穿透:一般发生在应用重启,所有缓存失效时,以及短转载 2020-10-16 17:25:00 · 854 阅读 · 0 评论 -
Spring Cloud 之Feign实现微服务之间相互请求
Spring Cloud 之Feign实现微服务之间相互请求创建第一个Spring Boot项目作为注册中心。pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/原创 2020-10-15 21:18:55 · 821 阅读 · 2 评论 -
Spring Cloud 之使用RestTemplate实现微服务之间相互请求的三种方式
Spring Cloud 之使用RestTemplate实现微服务之间相互请求的三种方式RestTemplate 简介RestTemplate是由Spring提供的一个HTTP请求工具。RestTemplate是从Spring3.0开始支持的一个HTTP请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST请求、PUT请求、DELETE请求以及一些通用的请求执行方法exchange以及execute。RestTemplate继承自InterceptingHttpAccessor并且原创 2020-10-15 19:56:54 · 1942 阅读 · 2 评论 -
Spring Cloud 之Config配置中心-使用Bus组件实现配置动态更新
Spring Cloud 之Config配置中心首先创建一个Spring Boot项目作为注册中心。pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mave原创 2020-10-15 00:08:09 · 1078 阅读 · 2 评论 -
Spring Cloud 之Eureka高可用
Spring Cloud之Eureka高可用我这里就使用三个Eureka Server和一个Eureka Client来演示Eureka高可用,架构图如下:可以把三个Eureka Server想象成跨区域的注册中心。创建第一个Spring Boot项目作为Eureka Server1。pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0原创 2020-10-14 21:44:42 · 695 阅读 · 2 评论 -
Eureka工作原理
原文地址:Eureka工作原理Eureka工作原理上节内容为大家介绍了,注册中心Eureka的使用,以及如何利用Eureka搭建单台和集群的注册中心。这节课我们来继续学习Eureka,了解它的相关概念、工作流程机制等。Eureka作为Spring Cloud体系中最核心、默认的注册中心组件,研究它的运行机制,有助于我们在工作中更好地使用它。Eureka 核心概念回到上节的服务注册调用示意图,服务提供者和服务消费者,本质上也是Eureka Client 角色。整体上可以分为两个主体:Eureka S转载 2020-10-14 20:47:52 · 1016 阅读 · 0 评论 -
Spring Cloud汇总
Spring CloudSpring Cloud 之Eureka初使用未完待续Spring Cloud Alibaba未完待续扩展阅读Spring Cloud Eureka - Client启动后直接运行结束:Completed shut down of DiscoveryClientSpring Cloud Config使用Github的Webhooks功能出现400状态码Spring Cloud整合Sleuth,当请求完成后,Zipkin没有链路信息...原创 2020-10-14 00:13:07 · 1584 阅读 · 22 评论 -
Spring Cloud 之Eureka初使用
Spring Cloud 之Eureka初使用首先创建一个Spring Boot项目作为Eureka Server,毕竟Spring Cloud是基于Spring Boot的。pom.xml如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2020-10-14 00:08:37 · 813 阅读 · 0 评论 -
Spring Cloud整合Sleuth,当请求完成后,Zipkin没有链路信息
Spring Cloud整合Sleuth,当请求完成后,Zipkin没有链路信息首先导入Sleuth、Zipkin的依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </depende原创 2020-09-23 11:05:40 · 3027 阅读 · 8 评论 -
Spring Cloud Eureka - Client启动后直接运行结束:Completed shut down of DiscoveryClient
报错如下图:Eureka Client一般要导入: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>导入这个依赖后,我就启原创 2020-09-21 15:11:05 · 2317 阅读 · 0 评论 -
Spring Cloud Config使用Github的Webhooks功能出现400状态码
Spring Cloud Config使用Github的Webhooks功能出现400状态码最近在学习Spring Cloud,需要使用Github提供的Webhooks功能,来实现配置自动刷新的功能(也就是我们更新了Github上的配置之后,Github会通过你设置的Webhooks来调用actuator/bus-refresh,这样就可以实现自动刷新的功能了)。但是我配置了Github的Webhooks后,自动刷新一直没有起效果(无论是设置actuator/bus-refresh还是monitor都原创 2020-09-19 11:50:45 · 1441 阅读 · 0 评论 -
yml 文件的中文注释导致 Failed to load property source from location 'classpath:/application.yml'
以前项目可以正常运行。今天重新打开项目运行,出现了下面异常:23:56:12.102 [main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/F:/Install/J...原创 2018-11-19 00:37:23 · 6280 阅读 · 0 评论 -
获取 classpath 用于 ClassPathXmlApplicationContext
使用 ClassPath 类的 getClassPath() 方法可得到一组路径集合。其中包括项目中使用的 jar 包路径和项目的 classpath。代码:package com.kaven.spring;import org.aspectj.apache.bcel.util.ClassPath;import java.util.Arrays;public class Sprin...原创 2018-09-20 21:27:09 · 4473 阅读 · 0 评论 -
使用 Spring AOP 时报错
出现上述错误信息,是因为项目中缺少:aspectjweaver.jar 这个包。访问:https://search.maven.org ,从此网站中输入:aspectjweaver (不输入.jar后缀),检索jar包进行下载。再把 jar 包导入项目中即可。...原创 2018-09-20 16:06:44 · 1956 阅读 · 0 评论 -
Spring 中 ClassPathXmlApplicationContext 类的简单使用
原文地址:http://www.blogjava.net/xcp/archive/2011/06/22/352821.html一、简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用:ApplicationContext ac = new ClassPathXmlApplicationContext(&amp;amp;amp;amp;quot;applicationCon...转载 2018-09-14 22:43:56 · 40591 阅读 · 7 评论 -
@Component, @Repository, @Service, @Controller的区别
@Component, @Repository, @Service的区别原文官网引用:引用spring的官方文档中的一段描述:在Spring2.0之前的版本中,@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常在Spring2.5版本中,引入了更多的Spring类注解:@Component,@Ser...转载 2018-11-14 19:49:50 · 2281 阅读 · 0 评论 -
maven 项目打包不进行单元测试
以前总结过一篇用 maven 进行项目打包方法的博客: spring boot 项目,使用 maven 构建工具打包的两种方法,如下面三种方式:mvn package 、mvn install 、mvn deploy。这三种方式,默认都会进行单元测试,但是因为我之前是在本地数据库进行测试,现在迁移到了阿里云服务器上的数据库,所以一些数据没有,单元测试会出错,但是我能够保证项目的正确性。所以...原创 2019-01-27 11:20:16 · 7684 阅读 · 0 评论 -
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
报错信息:org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract Result...原创 2019-01-26 20:11:47 · 12951 阅读 · 2 评论 -
自定义 spring boot 启动图案
首先去这个网站 传送门,输入想要的图标,可以换字体、宽带、高度,得到对于的图标,copy 图标。如下图:在 spring boot 项目下的 resources 包下创建 banner.txt 并且粘贴 copy 的图标。如下图:启动 spring boot 项目,可以看到图标效果。如下图:...原创 2018-11-24 22:38:48 · 5440 阅读 · 0 评论