![](https://img-blog.csdnimg.cn/4620ad654b19433d9496deab6ca1dfac.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
springboot
文章平均质量分 51
springboot
[奸笑]这个不是斜眼笑[奸笑]
这个作者很懒,什么都没留下…
展开
-
细品spring设计,可扩展性编程Aware接口,Adapter类
在Spring中,Aware接口是一组特定的接口,用于向Bean提供特定的资源或信息。通过实现Aware接口,Bean可以感知到容器的特定状态或资源。通过实现这些Aware接口,Bean可以在初始化时获取到相应的资源或信息,从而实现更灵活的逻辑处理。原创 2024-03-12 19:23:10 · 524 阅读 · 2 评论 -
记录一次spring的类中注入其他类显示空指针的问题
DI(Dependency Injection)即依赖注入,是Spring框架的一个核心特性。它是一种设计模式,通过该模式,对象之间的依赖关系由容器在运行期来决定,而不是在编译期确定。原创 2024-03-12 19:18:14 · 368 阅读 · 0 评论 -
java多种方式读取文件
【代码】java多种方式读取文件。原创 2024-01-25 19:58:17 · 351 阅读 · 0 评论 -
java多线程测试websocket demo(使用文件流)
这个demo主要是利用Java多线程来测试WebSocket通信。首先,创建一个WebSocket服务器和客户端,然后使用多线程来模拟多个客户端同时连接服务器进行通信。通过多线程测试,可以验证WebSocket通信的并发性能和稳定性。同时,可以通过多线程测试来模拟不同场景下的并发请求,以便对WebSocket服务器进行压力测试和性能优化。整个demo会包括创建WebSocket服务器和客户端的代码,以及多线程测试的代码实现。通过这个demo,可以更好地了解WebSocket通信的多线程测试方法和实现。原创 2024-01-25 19:46:41 · 1251 阅读 · 0 评论 -
记录一次在文件多处理的场景中遇到的问题
当一个音频传过来的时候,需要根据A的返回值对B进行不同的处理,A接口已有,当时任务急,B接口是写死的,后面需要优化这一部分的代码。获取文件的字节流后,发现后面会报一个文件中不到的问题,仔细排查后,发现操作系统并没有这个文件。原创 2024-01-23 17:29:02 · 515 阅读 · 0 评论 -
从minio下载wav文件返回File对象
通过Minio,用户可以构建自己的私有云存储解决方案,也可以作为公共云存储服务的替代方案。Minio是一个开源的分布式对象存储服务,它兼容Amazon S3 API,可以用于构建高性能、可扩展的存储基础设施。可扩展:Minio可以轻松地扩展到数百台服务器,以满足不断增长的存储需求。高性能:Minio能够快速地处理大规模的数据,并提供高速的数据读写操作。安全性:Minio支持数据加密和访问控制,确保存储的数据得到安全保护。开源:Minio是开源的,用户可以免费使用并根据需要进行定制和扩展。原创 2024-01-23 17:21:12 · 512 阅读 · 0 评论 -
Spring Cloud Gateway 路由配置策略
Spring Cloud Gateway 路由配置策略Spring Cloud Gateway 是一个基于 Spring Boot 2.x 和 Spring WebFlux的轻量级网关服务,用于构建微服务架构中的 API 网关。它提供了一种简单、高效、灵活和可扩展的方式来路由请求到后端的微服务。Spring Cloud Gateway 的核心特性包括:路由功能:可以根据请求的属性(路径、参数等)将请求路由到相应的后端服务。过滤器功能:可以对请求进行预处理、后处理和过滤,如鉴权、日志记录等原创 2024-01-19 15:19:46 · 1102 阅读 · 0 评论 -
记录一次transferto遇到的问题java.io.FileNotFoundException:的发生原因
有一个接口,上传文件,然后先对文件进行A处理,得到结果后保存到数据库,然后对文件进行B处理,开始的时候已经有业务A了,接受一个MultipartFile的参数,处理完保存数据库,现在需要添加一个新的功能。后对比发现正常执行的接口都是只对文件进行一次处理,包括原有的逻辑,我注释掉A逻辑,发现B逻辑可以正常执行。判断是多次读取数据,流中没有数据了。其实这个问题并不是很难发现,中间处理过程也是没想到这里的问题,当时也没有去看A逻辑的代码,导致的问题。只能说修改已有的代码还是需要慎重一点。原创 2024-01-18 19:59:31 · 877 阅读 · 0 评论 -
java中代理的实现并在spring的应用
Java代理机制是一种在运行时创建一个代理对象来代替原始对象的方法。代理对象通常用于在调用原始对象的方法之前或之后执行一些额外的操作,例如日志记录、性能监控等。原创 2023-12-26 14:33:04 · 400 阅读 · 0 评论 -
springbootjpa中@Modifying的用法
当使用Spring Data JPA进行数据库操作时,有时候我们需要执行一些更新或删除操作,而不仅仅是查询操作。注解为我们提供了一种方便的方式来标记需要修改数据库的查询方法,同时也提醒了我们在使用这些方法时需要注意一些细节。注解的话,Spring Data JPA默认认为查询方法是只读的,即不会修改数据库。注解能够明确告诉Spring Data JPA,这个方法需要修改数据库,从而确保操作的准确性和可靠性。注解一起使用,用于标记一个自定义的查询方法需要修改数据库。注解,以便更好地操作数据库。原创 2023-12-18 17:23:06 · 1264 阅读 · 0 评论 -
RestTemplate&Openfeign&Dubbo在远程调用的区别
以上代码演示了使用RestTemplate、OpenFeign和Dubbo调用远程接口的示例代码。RestTemplate是一个非常常用的HTTP客户端,可以用来发送HTTP请求;OpenFeign是一个声明式的HTTP客户端,可以通过定义接口的方式来调用远程接口,无需手动编写HTTP请求代码;Dubbo是一个分布式服务框架,可以通过RPC方式调用远程接口。原创 2023-12-14 15:19:38 · 196 阅读 · 0 评论 -
springboot整合websocket实现控制输入流
WebSocket 是一种在客户端和服务器之间进行实时双向通信的协议。它提供了一种更高效、更可靠的替代方案,以替代传统的HTTP请求-响应模式。使用WebSocket 可以实现实时聊天、实时数据更新、多人协同编辑等功能。在Web开发中,可以使用WebSocket API 来实现前后端的实时通信,同时也有许多流行的JavaScript库和框架(如Socket.IO)提供了更简单和方便的使用方式。需要注意的是,WebSocket 需要浏览器和服务器双方都支持该协议才能进行通信。原创 2023-12-13 10:24:47 · 174 阅读 · 0 评论 -
详解http请求头,响应头以及在实际开发中
HTTP (Hypertext Transfer Protocol) 协议是一种用于传输超文本的标准协议,它是 Web 通信的基础。HTTP 协议是无状态的,即每次请求是相互独立的,服务器不会记住上一次请求的信息。HTTP 协议采用客户端-服务器模式,客户端发起请求,服务器响应请求,并将响应返回给客户端。HTTP 协议主要分为以下两个部分:HTTP 协议的优点是简单、灵活、可扩展性强,但缺点是通信使用明文,数据容易被窃取或篡改。原创 2023-12-07 14:30:14 · 473 阅读 · 0 评论 -
http与https的区别,以及生产环境配置https的几种方式
HTTP(超文本传输协议)是一种用于传输和处理超文本文档的协议。HTTP使用客户端-服务器模型。客户端通过HTTP请求协议向服务器发送请求,服务器则使用HTTP响应协议返回响应。HTTP协议通常使用TCP/IP作为底层传输协议,但它也可以使用其他传输协议。HTTP协议定义了不同类型的请求和响应消息。HTTP请求消息通常包含请求的方法、URL、标头和正文。HTTP响应消息通常包含状态码、标头和正文。HTTP协议还支持各种不同的请求方法,例如GET、POST、PUT、DELETE等。原创 2023-12-05 14:36:36 · 814 阅读 · 0 评论 -
springboot多文件上传
Spring Boot 是一个强大的、灵活的、开发效率高的框架,适合开发各种类型的 Web 应用或微服务,是现代化的企业级开发的首选。原创 2023-12-01 14:24:11 · 786 阅读 · 0 评论 -
springboot整合websocket
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本数据的应用层协议。它是基于TCP/IP协议来传输数据的,是Web浏览器和Web服务器之间进行数据交换的标准协议。HTTP协议的主要特点包括:简单易用:HTTP协议使用简单,易于开发和调试。无状态:HTTP协议是一种无状态协议,即服务器不会记住之前客户端的请求信息,每个请求都是独立的。可扩展:HTTP协议支持各种不同的请求方式和响应类型,同时也可以通过HTTP头部来传递自定义数据。原创 2023-11-27 10:19:36 · 196 阅读 · 0 评论 -
使用openfeign调用下载流的文件不完整的替代方案
OpenFeign是一种声明式的Web服务客户端,它使得编写HTTP客户端变得更加简单和直观。它使用了注解方式来描述HTTP API,使得开发者可以使用Java接口来调用远程HTTP服务。OpenFeign的核心特点包括:声明式API: 您可以使用注解声明要调用的远程API,然后使用Java接口调用它们。定制化接口: 您可以使用FeignBuilder类定制客户端接口的行为。支持编码器和解码器: Feign支持多种编码器和解码器,可以将请求和响应转换为Java对象。原创 2023-11-24 14:21:53 · 342 阅读 · 0 评论 -
使用jmeter对接口进行简单测试
JMeter是一个开源的性能测试工具,它可以对于Web应用程序、FTP、数据库服务器等各种服务器进行性能测试和负载测试,以确定它们是否能够承受预期的负载。JMeter支持多种协议和技术,如HTTP、HTTPS、FTP、JDBC、LDAP、SOAP、JMS等。它使用Java编写,可以运行在各种平台上,如Windows、Linux、MacOS等,同时也提供了图形化界面和命令行模式,方便用户使用和控制。JMeter的另一个特点是它能够生成丰富的测试报告,包括图表和数据表格,帮助用户分析测试结果并找出性能瓶颈。原创 2023-11-21 17:39:06 · 321 阅读 · 0 评论 -
springcloud整合nacos实现服务注册
Nacos是一个开源的分布式系统服务和基础设施解决方案,用于实现动态服务发现、配置管理和服务治理。它可以帮助开发人员和运维团队更好地管理微服务架构中的服务实例、配置信息和服务调用。Nacos提供了服务注册与发现、动态配置管理、服务路由和负载均衡等功能,可以帮助企业构建和管理基于微服务架构的应用程序。它支持多种环境和语言,包括Java、Go、Python和Node.js等,可以灵活地集成到各种不同的应用程序中。原创 2023-11-17 17:27:57 · 186 阅读 · 0 评论 -
springcloud使用openfeign进行远程调用
OpenFeign是一款基于Netflix Feign开发的声明式HTTP客户端工具。它可以帮助我们方便的与远程HTTP服务进行通信,让我们在使用Restful服务时更加简单和快速。它提供了可靠的、可扩展的、易于维护的HTTP请求和响应的处理方式,是一个优秀的REST API客户端。一些主要特性如下:声明式API:以接口方式定义RESTful请求,不再需要手动构建HTTP请求对象。Spring Cloud集成:通过Spring Cloud可快速地与服务注册中心和配置中心进行集成。原创 2023-11-17 17:20:24 · 148 阅读 · 0 评论 -
springboot整合openfeign配置微信小程序登录,并解决超时问题
在使用springcloud作为技术栈的时候,在rpc通信方面,有很多框架选择,例如dubbo,openfeign等。OpenFeign是一个声明式的web服务客户端,它使得编写Web服务客户端变得非常容易。它使用基于注解的方式来定义和实现Web服务客户端。OpenFeign将Web服务API的定义与客户端的实现分离开来,从而使得Web服务API的维护变得更加简单。OpenFeign内置了对负载均衡、服务发现和断路器等功能的支持,使得在微服务架构中使用OpenFeign更加便捷。原创 2023-11-10 14:58:58 · 277 阅读 · 0 评论 -
springboot日志切面记录请求日志
这里简单介绍一下AOP,AOP(面向切面编程)是一种编程范式,它允许开发人员在程序的不同部分(切面)中定义横切关注点,并将它们与应用程序的核心业务逻辑分离开来。AOP可以用来实现日志记录、性能监控、事务管理等横切关注点,从而提高代码的模块化和可维护性。在AOP中,切面是一组横切关注点的集合,它们可以在程序的不同部分进行重用,从而减少重复代码的编写。AOP技术通常与面向对象编程结合使用,以实现更灵活和可维护的软件系统。原创 2023-11-10 09:44:34 · 63 阅读 · 0 评论 -
springboot整合ELK
ELK是一种强大的分布式日志管理解决方案,它由三个核心组件组成:Elasticsearch:作为分布式搜索和分析引擎,Elasticsearch能够快速地存储、搜索和分析大量的日志数据,帮助用户轻松地找到所需的信息。Logstash:作为数据处理管道,Logstash能够从各种来源收集日志数据,并进行过滤、转换和发送到Elasticsearch等目标存储中。Kibana:作为Web界面,Kibana能够帮助用户可视化和分析日志数据,创建仪表板和报表,以便更好地理解和监控业务中的日志信息。原创 2023-11-09 16:56:54 · 861 阅读 · 0 评论 -
通过docker-compose部署elk日志系统,并使用springboot整合
ELK是一种强大的分布式日志管理解决方案,它由三个核心组件组成:Elasticsearch:作为分布式搜索和分析引擎,Elasticsearch能够快速地存储、搜索和分析大量的日志数据,帮助用户轻松地找到所需的信息。Logstash:作为数据处理管道,Logstash能够从各种来源收集日志数据,并进行过滤、转换和发送到Elasticsearch等目标存储中。Kibana:作为Web界面,Kibana能够帮助用户可视化和分析日志数据,创建仪表板和报表,以便更好地理解和监控业务中的日志信息。原创 2023-11-09 15:18:27 · 1740 阅读 · 1 评论 -
解决linux启动zookeeper出现 Unable to create data directory /usr/local/log/zookeeper/version-2
bug复现当在bin目录下使用./zkServer.sh start之后,出现start Failed解决方案:出现这种问题,优先查看zookeeper的log文件,注意这里的log不是指在zookeeper配置的dataLogDir这个路径,而是/…/xxx/zookeeper/log下首先进入这个路径查看这个后缀名为out的文件,发现错误原因开始我认为是目录没有权限,但是并不是这个问题,在一番排查后,问题是在配置文件的路径分隔符不是/ 而是\错误:正确:最后保存,重新原创 2022-03-07 14:37:25 · 4186 阅读 · 1 评论 -
解决springboot整合h2数据库访问web端出现404
首先先放上我的配置文件spring: application: name: h2 h2: console: enabled: true settings: web-allow-others: true path: /h2 datasource: url: jdbc:h2:mem:dbtest username: sa password: sa driverClassName: org.h2.Dr原创 2022-01-25 13:58:39 · 2315 阅读 · 0 评论 -
mybatis源码解读------读取配置文件
背景mybatis作为一个轻量级的ORM框架,凭借着动态SQL,嵌套结果等技术风靡一些公司,作为一个初级程序员,看一些优秀的框架代码对于个人编码能力的提升有着不错的效果,其中的技术选型,设计模式等也是值得学习的。先来一段普通的mybatis的代码:InputStream inputStream = Resources.getResourceAsStream("SqlMappingConfig.xml");SqlSessionFactoryBuilder builder = new SqlSessio原创 2022-01-06 11:41:47 · 1958 阅读 · 0 评论 -
zookeeper整合gateway以及出现的问题和解决方案
文章目录环境开始准备工程结构图pom编写代码配置文件配置到这里基本就完成了,具体网关的很多策略这里就不讲了,下面就说一下会遇到的问题问题回顾版本问题pom错误引入spring-web的组件进入gateway的模块连接zookeeper超时写在最后环境文章开始之前,先介绍一下本文的环境,这里要特别注意zookeeper的版本以及你服务器zookeeper的版本,在maven中要注意依赖的问题,后面会解决产品版本jdk8maven3.8.3springboot2.0.原创 2021-10-22 11:44:57 · 1626 阅读 · 0 评论 -
解决nacos+gateway启动报错Parameter 0 of method loadBalancerWebClientBuilderBeanPostProcessor
问题复现1.环境配置产品版本jdk8maven3.8.3springboot2.5.5springcloud2020.0.4springcloudalibaba2.2.6.RELEASEnacos2.0.32.问题描述当配置完网关后,启动出现异常,如下图所示Description:Parameter 0 of method loadBalancerWebClientBuilderBeanPostProcessor in org原创 2021-10-18 13:45:03 · 1680 阅读 · 0 评论 -
简述ZAP和Raft
ZAP(zookeeper):选举:先去比较zxid zxid谁大谁就是领导角色,zxid相等就比较myid,谁的大谁就可能是领导角色,只要满足过半的机制就可以成为领导角色,后来启动的节点不参与选举的。如何保持数据的一致性问题:所有写的请求统一交给领导角色实现,领导角色写完数据之后,领导角色将每一个数据同步给每一个节点。注意:数据之间同步采用2pc两阶段提交协议。Raft:角色:状态: 来源于生活(台湾选举)------ 跟随者,竞选者,领导角色大多数: >n/2+1任期:原创 2021-06-06 17:48:47 · 452 阅读 · 0 评论 -
关于springcloudalibaba的配置中心nacos读取mysql8+的数据库报错问题
这里先陈述一下我自己的问题nacos ----------- 1.1.4mysql ----------- 8.0.19创建数据库 nacos_config导入数据库文件nacos-mysql.sql,文件位于nacos目录下的conf效果:第二步:首先修改在conf的目录的application.properties在文件结尾处添加spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://localh原创 2021-06-05 17:07:40 · 1011 阅读 · 0 评论 -
springboot集成springsecurity访问不了templates
在application.yml加入spring: resources: static-locations: classpath:/templates/即可原创 2021-05-23 14:18:29 · 429 阅读 · 0 评论 -
jdk 12 Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
在代码没有问题或者导入别人的工程时且jdk版本比较高少了两个包在pom.xml文件中加入<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency&g原创 2021-02-23 15:10:06 · 185 阅读 · 2 评论 -
解决Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.1.RELEASE:repackage (
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.1.RELEASE:repackage (default) on project xc-framework-utils: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.0.1.RELEASE:repackage failed: Unable to原创 2021-02-04 17:28:42 · 3263 阅读 · 0 评论 -
关于idea springmvc的标签<mvc:resources>不能正确的过滤资源的问题
bug复现明明配置了mvc:resources标签,路径也是对的,文件也被页面导入,但是访问页面出现访问资源404一.自己配的不认真,把location和mapping标签的值搞反了或者‘*‘或’/‘多配或少配这里给一个标准的 <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:原创 2021-01-21 12:32:34 · 963 阅读 · 0 评论 -
详细的mybatis入门,看这一篇就够了
简介:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录1.创建maven工程1.1 idea如下1.2 选择路径及工程名1.3一个maven项目建成了,目录如下2.导入..原创 2021-01-11 14:23:03 · 191 阅读 · 0 评论 -
解决idea Could not transfer artifact org.springframework.boot:spring-b
报错代码Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.2.4.RELEASE from/to alimaven (https://maven.aliyun.com/repository/central): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: un原创 2020-08-30 13:02:22 · 23133 阅读 · 4 评论 -
idea-springMVC在正确的配置情况下为什么无法跳转,且在tomcat的webapp目录下无法生成工程
这里我犯了一个致命的错误,忘记写打包方式了这里记录一下<packing>war</packing>原创 2020-08-10 13:25:13 · 218 阅读 · 0 评论 -
高版本JDK spring关于使用@Resource出现的问题集
高版本JDK spring关于使用@Resource出现的问题集本人的JDK版本为12.0.2实际上JDK版本在8以上基本会出现的问题问题描述:在使用@Resource时显示没有这个注解是因为没有Javax.annotation这个包在正确使用@Resource使出现注入错误导入依赖错误解决办法:正确的导入姿势:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org原创 2020-08-01 14:11:57 · 865 阅读 · 0 评论 -
解决springboot整合websocket、redis、openfeign,redisTemplate,openfeign的类无法注入的问题
在部分业务中,我们需要使用长连接,我们可以使用http长连接或者websocket,在springboot作为后端的框架中, 可以借用的技术是(netty,websocket)原创 2023-11-07 15:17:27 · 631 阅读 · 0 评论