请求
SpringBoot应用优雅重启-Actuator
SpringBoot应⽤优雅重启-ActuatorSpringBoot最⼤特点便是简化配置,提升开发效率,实现简单部署就是通过内嵌⼀个Web容器,如果Tomcat、Jettty等。对于SpringBoot应⽤,只需打包成⼀个简单的Jar包,然后执⾏java -jar就可以启动,是⼀种⾮常优雅的⽅式,但同时也隐藏着⼀些问题,如:应⽤如何停⽌?对于传统的部署在容器中的Java应⽤(⾮Spring Bo...
springcloud:RPC和HTTP
springcloud:RPC和HTTP1.RPC和HTTP⽆论是微服务还是SOA,都⾯临着服务间的远程调⽤。那么服务间的远程调⽤⽅式有哪些呢?常见的远程调⽤⽅式有以下2种:RPC:Remote Produce Call远程过程调⽤,类似的还有RMI。⾃定义数据格式,基于原⽣TCP通信,速度快,效率⾼。早期的webservice,现在热门的dubbo ,都是RPC的典型代表Http:http其实是...
springBoot同时接收表单数据(后端以实体类的形式接收)和文件
springBoot同时接收表单数据(后端以实体类的形式接收)和⽂件1. 起因(前提:前端采⽤formData传输,如⽤json传输则下⾯的⽅法也不适⽤)后端在插⼊⼀条数据时涉及到同时接收表单项和图⽚信息(不⽌⼀个图⽚)2. 解决⽅案 2.1 接收⼀个图⽚和表单项@PostMapping("/upTaskInfo")springboot其实就是springpublic Result u...
springbootRestTemplate发送get请求的踩坑及解决
springbootRestTemplate发送get请求的踩坑及解决spring boot RestTemplate 发送get请求踩坑闲话少说,代码说话RestTemplate 实例⼿动实例化,这个我基本不⽤RestTemplate restTemplate = new RestTemplate();依赖注⼊,通常情况下我使⽤ java 包下的类构建的 SimpleClientHttp...
springboot+vue开发过程出错解决思路
springboot+vue开发过程出错解决思路spring boot原理 通俗面试菜鸟程序员的成长之路本⽂旨在记录项⽬跑起来之后开发过程中遇到的问题的解决思路。(前端推荐使⽤webstorm,后端推荐使⽤idea)1、控制台报错当问题出现后,⾸先分别要看的就是这三个控制台,webstorm、页⾯(f12)和idea。⼀般情况下页⾯控制台给的信息最多,它有url、状态码和message 等信息,通...
面试feign 实现原理 -回复
面试 feign 实现原理 -回复面试Feign实现原理Feign是一个基于Java的HTTP客户端开发工具,它是Spring Cloud提供的一种实现微服务架构的方式。在面试中,面试官可能会询问关于Feign的实现原理,下面我会一步一步回答这个问题。1. 什么是Feign?Feign是一个声明式的Web服务客户端,在使用Feign时只需定义一个接口并添加注解即可完成对服务的调用。Feign提供了...
feign面试原理
feign面试原理Feign 是一个基于 Java 的声明式 HTTP 客户端,它是 Spring Cloud 微服务架构中的一部分。Feign 提供了一种简洁、优雅的方式,用于定义和调用其他微服务上的 REST 接口。Feign 采用了一种基于接口的编程模式,使得我们可以通过定义一个标准的 Java 接口来描述服务之间的通信。通过使用注解来描述接口的 HTTP 请求方法、路径、请求参数、请求体等...
Nacos服务注册的原理
Nacos服务注册的原理Nacos 服务注册需要具备的能⼒:服务提供者把⾃⼰的协议地址注册到Nacos server服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称)Nacos Server需要感知到服务提供者的上下线的变化服务消费者需要动态感知到Nacos Server端服务地址的变化 作为注册中⼼所需要的能⼒⼤多如此,我们需要做的是理解各种注册中⼼的独...
SUN认证考试知识点:javaservlet生命周期
SUN认证考试知识点:javaservlet生命周期SUN认证考试知识点:javaservlet生命周期Servlet是使用JavaServlet应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。JavaServlet对于Web服务器就好像JavaApplet对于Web浏览器。Applet装入Web浏览器并在Web浏览器内执行,而Servle...
【黑马程序员】servlet的生命周期及工作原理
【黑马程序员】servlet的生命周期及工作原理Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: ...
SpringBoot整合Swagger3
SpringBoot整合Swagger3 1. 导⼊maven坐标<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId>springboot原理是什么<version>3.0.0</version...
Knife4j集成到SpringBoot框架项目
Knife4j集成到SpringBoot框架项⽬1. 在maven项⽬的l中引⼊Knife4j的依赖包<dependency><groupId>com.github.xiaoymin</groupId>springboot原理是什么<artifactId>knife4j-spring-boot-starter</artifactId...
通过一个银行转账的案例,手写实现IOC和AOP
通过一个银行转账的案例,手写实现IOC和AOP通过上一篇面试被问了几百遍的 IoC 和 AOP,还在傻傻搞不清楚?我们了解了 IOC 和 AOP 这两个思想,下面我们先不去考虑Spring是如何实现这两个思想的,先通过一个银行转账的案例,分析一下该案例在代码层面存在什么问题?分析之后使用我们已有的知识来解决这些问题(痛点)。其实这个过程就是在一步步分析并手动实现 IOC 和 AOP 。案例介绍银行...
SpringBootLogback异步打印Web请求参数
SpringBootLogback异步打印Web请求参数Spring Boot是一种用于构建独立的、生产级的Spring应用程序的框架,它提供了许多开箱即用的功能和约定,让开发人员可以快速进行Web应用程序的开发。而Logback是一种强大的日志框架,它支持异步日志记录,并且具有高性能和灵活的配置选项。在Web应用程序中,往往需要记录和分析用户的请求参数,以便进行问题排查、性能优化等工作。而通过L...
springboot整合CASClient实现单点登陆验证的示例
springboot整合CASClient实现单点登陆验证的⽰例本⽂介绍了spring boot整合CAS Client实现单点登陆验证的⽰例,分享给⼤家,也给⾃⼰留个笔记,具体如下:单点登录( Single Sign-On , 简称 SSO )是⽬前⽐较流⾏的服务于企业业务整合的解决⽅案之⼀, SSO 使得在多个应⽤系统中,⽤户只需要登录⼀次就可以访问所有相互信任的应⽤系统。CAS Client...
springAop切面中的@Before@Around等执行顺序与请求参数统一解码
springAop切⾯中的@Before@Around等执⾏顺序与请求参数统⼀解码springboot实现aop1.背景 在实际开发中,我可能会对请求接⼝做统⼀⽇志输出,或者统⼀参数解析,验签,统⼀响应加密等,通常会⽤到aop,实际案例如下2.代码package com.qianxingniwo.log;import com.alibaba.fastjson.JSON;import c...
项目中aop的使用
项目中aop的使用springboot实现aopAOP(面向切面编程)是一种编程范式,它允许开发人员在应用程序的不同部分中插入代码,以实现横切关注点的解耦。在项目中,我们可以使用AOP来解决一些常见的问题,例如:1.日志记录:我们可以使用AOP在应用程序的不同部分中插入代码,以记录日志信息,例如请求的URL、参数、响应时间等。2.权限验证:我们可以使用AOP拦截某些用户请求,并验证用户是否有访问权...
springboot-websocket实现及原理
springboot-websocket实现及原理本⽂章包括websocket⾯试相关问题以及spring boot如何整合webSocket。 webSocket是HTML5的⼀种新协议,它实现了服务端与客户端的全双⼯通信,建⽴在传输层,tcp协议之上,即浏览器与服务端需要先建⽴tcp协议,再发送webSocket连接建⽴请求。 webSocket的连接:客户端发送请求信...
springboot实现超轻量级网关的方法(反向代理、转发)
springboot实现超轻量级⽹关的⽅法(反向代理、转发)在我们的rest服务中,需要暴露⼀个中间件的接⼝给⽤户,但是需要经过rest服务的认证,这是典型的⽹关使⽤场景。可以引⼊⽹关组件来搞定,但是引⼊zuul等中间件会增加系统复杂性,这⾥实现⼀个超轻量级的⽹关,只实现请求转发,认证等由rest服务的spring security来搞定。如何进⾏请求转发呢?熟悉⽹络请求的同学应该很清楚,请求⽆⾮...
controller的工作原理
标题:controller的工作原理一、controller的定义和作用Controller是MVC(Model-View-Controller)架构模式中的一个组件,负责接收用户输入,并根据用户输入调用相应的领域逻辑和数据模型,然后将处理结果返回给用户。它在整个应用中起到了调度和控制的作用,是用户与应用程序之间的桥梁。二、controller的工作流程1. 用户发起请求当用户在浏览器中输入URL...
feign 工作原理
feign 工作原理Feign 是一种基于 HTTP 客户端的远程调用框架,主要用于简化和优化在微服务架构中对其他服务的调用。它的工作原理可以概括为以下几个步骤:1. 定义接口:使用 Feign,首先需要定义一个接口,该接口中声明了要调用的其他服务的方法。可以使用注解来指定请求的路径、请求方法、请求参数和请求头等信息。2. 生成代理:在运行时,Feign 根据定义的接口和注解,动态生成一个代理类。...
Nacos集成SpringCloudGateway使用第一章:理解解释
Nacos集成SpringCloudGateway使⽤第⼀章:理解解释本章为⼊门理解第⼆章上⼿demo:主要是新建⼀个springcloud项⽬集成nacos为注册中⼼,并且实现服务间的相互调⽤第三章:再第⼆章的基础上稍作改动引⽤了nacos作为配置中⼼1.什么是nacos Nacos ⽀持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中⼼)、动态配置服...
SpringBoot自定义注解接收json参数
SpringBoot⾃定义注解接收json参数SpringBoot如果接受json参数的话需要定义实体类然后使⽤@RequestBody注解,但是如果每个接⼝都创建⼀个实体类的话太⿇烦,因此可以使⽤⾃定义注解的⽅法接收。从⽹上发现了这篇博客,解决了⼀个⼤⼤的疑惑。。转载:RequestJsonpackage com.fig;import java.lang.an...
Springboot通过过滤器实现对请求头的修改
Springboot通过过滤器实现对请求头的修改之前在⼀个项⽬中有⼀个API服务需要重构,尤其是接⼝的⽤户⾝份校验,原先的实现是将⽤户token放在URL请求参数中,然后通过AOP进⾏校验,现在要统⼀将token放在header中,但是这样修改会让⽤户也相应的修改他们的客户端,为了使版本发布后不⾄于对⽤户的服务产⽣太⼤影响,所以我们不仅能通过header进⾏token校验,也要能通过URL参数进⾏...
SpringBoot中大文件(分片上传)断点续传与极速秒传功能的实现_百度文 ...
SpringBoot中⼤⽂件(分⽚上传)断点续传与极速秒传功能的实现1.创建SpringBoot项⽬本项⽬采⽤springboot + mybatis-plus +jquery +thymeleaf组成2.项⽬流程图3.在pom中添加以下依赖<!--lombok依赖--><dependency><groupId>org.projectlombok</gro...
关于SpringBoot页面跳转以及访问静态资源问题总结
关于SpringBoot页⾯跳转以及访问静态资源问题总结springboot原理pdf在springboot项⽬中默认访问路径是static⽂件夹和template⽂件夹,static⽂件夹下的资源可以通过浏览器直接访问(如:localhost:8080/index.html,如有⽂件夹输⼊正确路径即可如:localhost:8080/image/abc.jpg),⽽template⽂件夹下的页⾯...
Spring@CrossOrigin注解原理实现
Spring@CrossOrigin注解原理实现现实开发中,我们难免遇到跨域问题,以前笔者只知道jsonp这种解决⽅式,后⾯听说spring只要加⼊@CrossOrigin即可解决跨域问题。本着好奇的⼼⾥,笔者看了下@CrossOrigin 作⽤原理,写下这篇博客。先说原理:其实很简单,就是利⽤spring的实现往response⾥添加 Access-Control-Allow-Origin...
SpringbootSession共享实现原理及代码实例
SpringbootSession共享实现原理及代码实例在传统的单服务架构中,⼀般来说,只有⼀个服务器,那么不存在 Session共享问题,但是在分布式/集项⽬中,Session 共享则是⼀个必须⾯对的问题,先看⼀个简单的架构图:在这样的架构中,会出现⼀些单服务中不存在的问题,例如客户端发起⼀个请求,这个请求到达 Nginx 上之后,被Nginx 转发到 Tomcat A 上,然后在 Tomca...
SpringBootmaxConnections、maxThreads、acceptCount解析
SpringBootmaxConnections、maxThreads、acceptCount解析maxConnections、maxThreads、acceptCount:如果tomcat当前处理的请求数⼩于等于maxConnections,则acceptCount所对应的队列会是空。即有3个窗⼝,2个⼈来,就不需要排队如果tomcat当前处理的请求数⼤于maxConnections,则新来的请...
loombok原理
loombok原理Lombok是一个热门的开源项目,使用它可以有效地解决Java工程中那些繁琐又重复的代码,例如Setter、Getter、toString、equals、hashCode以及非空判断等。其原理如下:- 连接: - 通过set命令创建链接,输入验证码,若匹配则表示链接已建立。 - 连接成功后,确保域名指向该服务器端,才可以实现网页...