spring家族
文章平均质量分 65
一些关于springboot的笔记
爱吃雪糕的小布丁
没有什么问题是加一层解决不了的,如果有,那就加两层!
展开
-
若依cloud(RuoYi-Cloud)新增业务模块和功能模块增删改查演示
看了几篇文章感觉都不太满意,索性自己来写一篇。原创 2023-07-18 17:03:21 · 8562 阅读 · 1 评论 -
SpringCloud-Alibaba学习笔记03——nacos管理界面详细介绍和注册中心配置详解
nacos服务管理界面如图所示: 我们可以看到在界面上有个的按钮,我们打开该按钮之后,服务列表并没有发生变化,这个按钮有啥用呢? 该按钮的作用就是隐藏空的服务,空的服务就是指没有的服务,即实例数为0。我们在客户端注册进来的服务都不是空服务,所以就不会被隐藏。 那怎么创建空服务呢?我们可以点击右侧的 那妞,创建一个没有任何实例的服务,如图: 关闭隐藏空服务之后,这个空服务就会显示,如图: 那这个空服务有什么用呢?没有具体的作用,唯一的作用就是相当于在服务列表占个座,表明这里有个这种类型原创 2023-04-18 16:43:49 · 2153 阅读 · 0 评论 -
SpringCloud-Alibaba学习笔记01——Nacos介绍以及注册中心的演变和Nacos核心功能
官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )服务配置(Nacos Config)和服务管理平台。简单来说就是:集注册中心+配置中心+服务管理的平台。服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理。原创 2023-04-10 16:45:48 · 915 阅读 · 0 评论 -
SpringBoot+Vue+EasyExcel+MybatisPlus+Lombok前后端分离实现Excel文件导入导出(简单实用版)
1、指定POJO的字段与Excel列的对应关系,列名由value指定。2、表示Excel导入导出的时候忽略该字段。3、如果POJO中的字段和Excel中的列值之间存在差异,需要转换时,可以自定义转换器,并通过converter指定(具体实现参考下文)。原创 2023-03-31 15:57:06 · 5115 阅读 · 6 评论 -
SpringBoot出现:Invalid bound statement (not found):等三个问题
Invalid bound statement (not found):Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that correspo原创 2023-03-31 11:42:16 · 2017 阅读 · 0 评论 -
记一次排错:java后端的数据是0或者1,传到前端之后变成了true或者false
mybatis plus自动生成代码tinyint(1)自动转换为Boolean 的解决办法原创 2023-03-23 19:03:42 · 2782 阅读 · 0 评论 -
SpringBoot +Vue前后端分离项目报错:Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supporte
并不是json那样的json格式。,所以他会报错不支持这个格式。是以键值对拼接的形式,如。格式的数据,那我们就不用。类型,但是我前端在用。原创 2023-03-21 12:57:47 · 1791 阅读 · 0 评论 -
Royi-cloud启动服务报错Invalid bound statement (not found): com.rk.system.mapper.SysConfigMapper.selectConf
Invalid bound statement (not found): com.rk.system.mapper.SysConfigMapper.selectConfField redisService in com.rk.gateway.service.impl.ValidateCodeServiceImpl required a bean of type 'com.rk.common.redis.service.RedisService' that could not be found.原创 2023-03-03 11:56:35 · 2930 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记13——Zuul路由网关
Zuul包含了对请求的路由和过滤两个最主要的功能。其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。注意:Zuul服务最终还是会注册进Eureka。提供:代理 + 路由 + 过滤 三大功能!原创 2023-02-11 17:53:25 · 898 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记12——Hystrix-Dashboard实现服务监控
除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求,多少成功,多少失败等等。Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控,SpringCloud也提供了Hystrix-Dashboard的整合,对监控内容转化成可视化界面!复制之前80项目的pom文件,新增以下依赖!原创 2023-02-11 12:27:17 · 928 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记11——Hystrix实现服务降级
就是预先写好一个失败回调类,如果访问已经关闭的服务,就会进入该失败回调类,响应给用户一些预先写好的信息,比如 “该服务已关闭” 等。如下图,在某一个时间段,访问服务A的请求特别多,而访问服务B和服务C的请求特别少,这时我们可以把服务B和服务C先关闭,等到度过此时间段,在把他们开启回来。将服务关闭再访问服务的话,会进入失败回调类,返回预先写好的提示信息给用户。虽然看起来作用不是很大,但是可以让客户端看到正常的信息,而不是代码500,增加用户的体验。的基础上,为他写一个失败回调类,命名。原创 2023-02-11 11:53:16 · 816 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记10——Hystrix实现服务熔断
复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败!Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。原创 2023-02-09 11:54:20 · 732 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记09——Feign实现负载均衡
feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。只需要创建一个接口,然后添加注解即可!Feign ,主要是社区,大家都习惯面向接口编程。这个是很多开发人员的规范。微服务名字 【ribbon】接口和注解 【feign 】原创 2023-02-05 17:30:42 · 826 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记08——自定义Ribbon负载均衡策略
实现接口: IRule 不同实现类: * 1 、 AvailabilityFilteringRule :会先过滤掉跳闸的或者访问故障的服务,对剩下的服务进行轮询 ~ * 2 、 RoundRobinRule :轮询(默认是这种策略) ~ * 3 、 RandomRule :随机 ~ * 4 、 WeightedResponseTimeRule :按照分配的权重进行分配 * 5 、 RetryRule :会先按照轮询获取服务,如果服务获取失败,则在指定的时间内进行重试 ~//使用随机策略 }原创 2023-02-05 16:28:02 · 765 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记07——负载均衡及Ribbon
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将NetFlix的中间层服务连接在一起。Ribbon的客户端组件提供一系列完整的配置项如:连接超时、重试等等。简单的说,就是在配置文件中列出LoadBalancer(简称LB:负载均衡)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等等)去连接这些机器。原创 2023-02-03 11:07:53 · 540 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记06——Eureka对比Zookeeper
当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用。问题在于,选举leader的时间太长,30~120s,且选举期间整个zk集群都是不可用的,这就导致在选举期间注册服务瘫痪。在云部署的环境下,因为网络问题使得zk集群失去master节点是较大概率会发生的事件,虽然服务最终能够恢复,但是漫长的选举时间导致的注册长期不可用是不能容忍的。Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。原创 2023-01-16 11:11:26 · 732 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记03——什么是Eureka
Eureka:怎么读?Netflix 在设计Eureka 时,遵循的就是AP原则。1、CAP原则又称CAP定理,指的是在一个分布式系统中2、一致性(Consistency)3、可用性(Availability)4、分区容错性(Partition tolerance)5、CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。Eureka是Netflix的一个子模块,也是核心模块之一。原创 2023-01-16 10:49:45 · 761 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记01——SpringCloud入门
曾风靡国内的开源 RPC 服务框架 Dubbo 在重启维护后,令许多用户为之雀跃,但同时,也迎来了一些质疑的声音。互联网技术发展迅速,Dubbo 是否还能跟上时代?Dubbo 与 Spring Cloud 相比又有何优势和差异?是否会有相关举措保证 Dubbo 的后续更新频率?人物:Dubbo重启维护开发的刘军,主要负责人之一刘军,阿里巴巴中间件高级研发工程师,主导了 Dubbo 重启维护以后的几个发版计划,专注于高性能RPC 框架和微服务相关领域。原创 2023-01-15 14:55:54 · 719 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记——微服务和微服务架构
什么是微服务?微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。究竟什么是微服务呢?我们在此引用 ThoughtWorks 公司的首席科学家 Martin Fowler于2014年提出的一段话:就目前而言,对于微服务,业界并没有一个统一的,标准的定义。原创 2023-01-14 15:38:55 · 1256 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记05——Eureka模拟实现简单集群
对于Eureka注册中心来说,如果只有一个注册中心的话,如果注册中心崩了,那么里面的服务全部用不了,系统就会崩溃。为了避免这个问题,我们可以搭建一个注册中心的集群,几个注册中心互相关联,如果一个注册中心崩了,另外的几个注册中心还能用,服务还能用,系统就不会崩溃。通过Eureka注册中心搭建集群,只需要修改配置文件即可,十分方便。如果一个节点(注册中心)突然崩了,那么另外两个节点还正常运行,能正常提供服务,不会影响到系统的运行。原创 2023-01-14 12:02:12 · 877 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记04——Eureka注册中心搭建
Eureka注册中心相当于Zookeeper注册中心,思想是类似的,只不过Zookeeper需要在本机上下载一个服务客户端,直接启动客户端即可,而Eureka注册中心需要我们自己动手搭建,不过也不难。原创 2023-01-14 12:01:39 · 914 阅读 · 0 评论 -
SpringCloud-Netflix学习笔记02——用RestTemplate建立服务提供者和服务消费者之间的通信
服务提供者和服务消费者之间通过Rest进行通信,消费者可以通过SpringBoot提供的RestTemplate类来获取提供者提供的服务,以达到自身目的。原创 2023-01-14 11:52:07 · 1001 阅读 · 0 评论 -
用IDEA打包springboot项目报错:--- maven-compiler-plugin:3.8.1:compile (default-compile) @ springboot_homewor
maven-compiler-plugin:3.8.1:compile (default-compile) @ springboot_homework ---[INFO] Changes detected - recompiling the module!原创 2022-07-08 16:03:06 · 8692 阅读 · 0 评论 -
2021新版IDEA实现SpringBoot项目热部署
首先,在pom.xml中添加devtools的maven引用: 其次,在plugin中添加devtools生效标志: 最后,在application.yaml文件中添加devtools配置:二、手动热部署 配置完之后,如果不想让他自动热部署的话,可以进行手动热部署,即更改完代码之后,Ctrl + F9,即可热部署完成。 不想手动进行热部署的同学,可以对IDEA进行一些设置,实现自动热部署,IDEA自动检测代码发生变化,自动实现热部署。 首先: 其次,Ctrl+shift+alt+原创 2022-06-20 12:38:09 · 7234 阅读 · 1 评论 -
MybatisPlus代码自动生成器
高于版本需要导入代码生成器依赖: 以及模板引擎依赖,即使不用模板引擎也要导入:原创 2022-06-13 15:11:53 · 5301 阅读 · 0 评论 -
用MybatisPlus代码生成器之后,运行springboot项目报错:UnsatisfiedDependencyException: Error creating bean with name
用MybatisPlus代码生成器生成代码之后,运行springboot项目报错:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework原创 2022-06-13 15:06:57 · 7133 阅读 · 2 评论 -
Springboot中使用@Mapper、@Repository、@MapperScan实现MybtaisPlus操作数据库的几种方法
我用的是MybatisPlus!!!,用Mybatis的结果可能不一样!!! 以下几种方式我的实体类和SpringBoot配置文件都是如下,没有改变:一、只使用@MapperScan注解操作数据库 只在SpringBoot的启动类上添加@MapperScan注解扫描Mapper接口。 UserMapper: 启动类: 测试代码: 可以看到,如果Mapper接口上不加将该组件自动注入springboot的注解(@Repository和@Component)的话,使用@Autow原创 2022-06-03 13:07:56 · 6781 阅读 · 0 评论 -
springboot整合redis存入一个对象时报错:org.springframework.data.redis.serializer.SerializationException: Cannot
org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.l原创 2022-05-15 11:48:11 · 8833 阅读 · 2 评论 -
springboot集成redis并操作redis
1、首先导入依赖<!--springboot操作redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2、编写配置文件 编原创 2022-05-12 18:37:06 · 5741 阅读 · 0 评论 -
springmvc代码正确但是报错404解决以及乱码解决
1、如果代码正确,但是运行报错404的话,可能是jar包没有导入到maven上。可以到Project Structure 中的Artifacts中,找到对应的项目,创建一个lib文件夹,添加jar包到里面。 如果没有导入jar包的话,可以在WEB-INF目录下新建一个lib目录,接着右键点击lib目录,点击Add Copy of,选择第一项,然后选择全部jar包(Ctrl + a),点击ok即可。 改完之后别忘记apply哦!乱码解决1.用springmvc提供的filter也不能解决原创 2022-05-12 08:40:58 · 7242 阅读 · 1 评论 -
spring依赖注入简介以及依赖注入的两种方式
1、spring依赖注入简介依赖注入:Set注入 1.依赖:bean对象创建依赖于容器! 2.注入:bean对象中的所有属性,由容器来注入!2、依赖注入的两种方式 实体类:package com.tang.pojo;public class People { private String name; private Cat cat; private Dog dog; public String getName() { return na原创 2022-05-11 10:19:09 · 6463 阅读 · 0 评论 -
Spring框架简介以及使用注解开发和使用xml开发的优缺点
1、spring简介1.Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。2.优点:Spring是一个开源的免费框架(容器)!Sprng是一个轻量级的、非入侵式的框架 !控制反转(IOC)、面向切面编程(AOP)!支持事务处理,对框架整合的支持!2、使用注解开发和使用xml开发的优缺点1、XML与注解比较XML可以适用任何场景 ,结构清晰,维护方便注解不是自己提供的类使用不了,开发简单方便2、xml与注解整合开发 :推荐最佳实践xml管理Bean原创 2022-05-11 10:12:37 · 6665 阅读 · 1 评论 -
Spring-IOC有参创建对象和无参创建对象的区别
1.如果没有有参构造的话们可以直接用property给变量赋值。2.如果有有参构造的话,不能用property赋值,有三种方法赋值。1.通过下标赋值。 <constructor-arg index="0" value="你好"></constructor-arg>2.通过类型创建。 <constructor-arg type="java.lang.String" value="你好"></constructor-arg> 如果有同种类型,原创 2022-05-11 10:09:03 · 5748 阅读 · 0 评论 -
spring整合mybatis的配置源
我的数据源用的是c3p0,用maven导包如下:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9</version> </dependency> data原创 2022-05-09 21:41:55 · 5933 阅读 · 0 评论 -
springboot报错:Could not get a resource from the pool redis.clients.jedis.exceptions.JedisConnection
运行项目时报错:2022-04-15 19:27:54.052 ERROR 9676 --- [nio-8181-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Filtered request failed.] with root cause java.net.Soc原创 2022-05-06 20:34:36 · 6987 阅读 · 0 评论 -
运行springboot项目时报错: Description: The bean ‘userServiceImpl‘ could not be injected as a
运行springboot项目时报错: Description: The bean 'userServiceImpl' could not be injected as a 'com.tang.service.UserServiceImpl' because it is a JDK dynamic proxy that implements: com.tang.service.UserService Action: Consider injecting the bea原创 2022-05-06 20:32:28 · 7441 阅读 · 0 评论