经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Spring

springboot 接入 ChatGPT

项目地址 https: gitee.com/Kindear/lucy-chat 介绍 lucy-chat是接入OpenAI-ChatGPT大模型人工智能的Java解决方案,大模型人工智能的发展是不可阻挡的趋势,我们环境无法创造工具,但是也要更好的使用工具,该包简化了接入流程,可以非常方便的引入...[2023/3/20]

三天吃透Spring Cloud面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https: github...[2023/3/20]

SpringBoot使用Interceptor拦截器的实例

SpringBoot使用Interceptor拦截器的实例

在springboot中使用拦截器也比较简单,实现HandlerInterceptor或者AsyncHandlerInterceptor接口,再从配置里添加一下拦截器就完成了; AsyncHandlerInterceptor接口继承了HandlerInterceptor,多了一个afterCo...[2023/3/20]

浅析Spring?中?Bean?的理解与使用

目录一、定义二、控制反转(IoC)1、什么是依赖注入与控制反转呢?先通过一个例子来理解一下2、让 Spring 控制类构建过程3、这就是 IOC三、 @Bean 注解的使用1、使用说明2、Bean 名称2.1、默认情况下 Bean 名称就是方法名(首字母小写),比如下面 Bean 名称便是 myBe...[2023/3/20]

某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别

大家好,我是三友~~ 今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入聊一聊这三者的...[2023/3/17]

SpringBoot部署到外部Tomcat无法注册到Nacos服务端

事情经过 近期做一个项目投标演示(POC)环境支持,需要集成Nacos服务端。考虑到现有项目中已经有了Nacos相关依赖,那还不简单?新建个服务端,配置几下重启不就搞定了吗?然而事情远没有想得这么简单。同样的代码在我本地IDE里运行就能注册成功,在演示环境 Tomcat+War 部署就不行了。 ...[2023/3/17]

Springboot之如何统计代码执行耗时时间

目录前言正文① StopWatch②  System.nanoTime()③ new Date ()④  System.currentTimeMillis() 总结 前言 近日群里有萌新提到关于统计代码执行时间的事: 开始&n...[2023/3/17]

Spring Boot security 默认拦截静态资源的解决方法

Spring Boot security 会默认登陆之前拦截全部c , js,img等动态资源,导致我们的公开主页在登陆之前很丑陋 像这样: 网上很多解决办法都过时了比如还在使用WebSecurityConfigurerAdapte,antMatchers public cla ...[2023/3/17]

【SpringBoot】还不会SpringBoot项目模块分层?来这手把手教你

【SpringBoot】还不会SpringBoot项目模块分层?来这手把手教你

前言 ??缘由 经常看到网上很多优秀的开源项目中,代码简洁,模块分层完美。反观自己代码层级混乱,,却不知如何整理分层。此文手把手教你一步一步创建模块,左手右手一个慢动作。结合本人实际开发及个人项目中分层思路的分享,大神请勿喷。 ??本文阅读时长 约25分钟 ??主要目标 熟练掌握Spri...[2023/3/15]

Spring?refresh()源码解析

目录正文一、prepareRefresh:初始化前的预处理1.1初始化属性值1.2属性校验二、obtainFreshBeanFactory:刷新Bean工厂三、prepareBeanFactory:Bean工厂预处理3.1 ApplicationContextDProce or:Aware执行器3....[2023/3/15]

Spring?populateBean属性赋值和自动注入

目录正文一、postProce AfterInstantiation:修改Bean实例二、autowireByName:根据名称自动注入三、autowireByType:根据类型自动注入四、postProce PropertyValues:处理属性值(@Resource、@Autowired、@Va...[2023/3/15]

Spring MVC的请求处理逻辑

当大家了解了如何编写一个简单的Spring MVC程序后,大家心中应该会有一些好奇:这背后到底发生了什么? Spring MVC是怎么把这些功能串联起来的?我们只是写了一个控制器而已,HTTP请求是怎么转换为控制器方法的调用的?结果又是怎么变成JSON的.....啊这小伙伴们是不是已经混乱了!...[2023/3/14]

Spring Cloud Alibaba实现服务的无损下线功能

目录1、背景2、解决方案2.1 找到通过负载均衡组件获取可用服务信息的地方2.2 解决思路3、部分实现代码3.1 引入jar3.2 编写服务下线方法3.3 监听配置变更,清除服务缓存3.3.1 使@NacosConfigListener注解生效3.3.2 监听配置、清除缓存4、实现4.1 服务准...[2023/3/14]

Spring:现代Java开发的必备框架

Spring:现代Java开发的必备框架

目录Spring:现代Java开发的必备框架Spring创建bean的生命周期以及对应的接口和注解Spring使用三级缓存解决循环依赖的原理Spring使用三级缓存创建bean的过程Spring使用AOPSpringAOP的实现原理Spring使用事务管理Spring事务的原理DataSou...[2023/3/14]

SpringBoot实现定时发送邮件的三种方法案例详解

目录一、发送邮件的三种方法二、定时任务介绍1.@EnableScheduling2.@Scheduled三、前期准备工作1、登录QQ邮箱获取授权码第一步:进入QQ邮箱第二步:找到POP3/SMTP,并开启第三步:复制授权码2、pom.xml中的依赖3、在全局配置文件application.prope...[2023/3/8]

SpringBoot之@Value获取application.properties配置无效的解决

目录@Value获取application.properties配置无效问题@Value获取application.properties中的配置取值为Null解决方法正确做法总结 @Value获取application.properties配置无效问题 无效的原因主要是要注意@Value使用的注...[2023/3/8]

SpringBoot对不同Bean注解的区别和使用场景说明

目录对不同Bean注解的区别和使用场景什么是Bean?注解@Bean @Component …等都有什么区别?SpringBoot注入对象冲突如何解决?SpringBoot的各种注解@Configuration总结 对不同Bean注解的区别和使用场景 什么是Bean? 谈Bea...[2023/3/8]

SpringMVC基础源码分析(一)

实现Controller的三种方式分析 每种实现的方式对应的HanderAdapter都不同。 实现Controller接口 该接口对应的HanderAdapter为SimpleControllerHandlerAdapter。 使用案列: public cla LeContr...[2023/3/3]

Spring注解篇,学完注解深入了解SpringBoot更容易

由于Spring Boot项目底层也都是Spring,使用Spring Boot就需要对Spring的注解有一定的了解,这次就把Spring的部分注解聊一下。熟悉了Spring的注解使用Spring Boot开发更是得心应手。 @ComponentScan:用于指定扫描包的路径,只有在它指定的...[2023/2/27]

SpringCloud OpenFeign基本介绍与实现示例

目录介绍常用注解代码实现注意事项 介绍   在上面一篇介绍Nacos的文章最后,两个服务的相互调用是用的RestTemplate类完成的。但这种方式不是很推荐,更佳的方式是用OpenFeign组件去调用。OpenFeign是官方推出的服务调用和负载均衡组件,基于Ribbon和...[2023/2/22]

Springdoc替换swagger的实现步骤分解

目录前言一、springdoc介绍二、使用步骤1.引入库2.spring配置类3.常用的swagger注解和springdoc的对应关系4.一个接口类的示例5.配置文件配置6.WebMvc配置7.UI 前言 距离swagger上次发布版本已经过去两年多了,一直没有更新,与当前的springboo...[2023/2/17]

SpringBoot多controller添加URL前缀的实现方法

目录前言一、配置文件内添加前缀配置二、配置映射的实体三、自定义注解四、自定义PathMatch添加前缀五、测试 前言 在某些情况下,服务的controller中前缀是一致的,例如所有URL的前缀都为/context-path/api/v1,需要为某些URL添加统一的前缀。 能想到的处理办法为...[2023/2/17]

使用java?-jar修改SpringBoot中application.properties的配置项

目录java -jar修改SpringBoot中application.properties配置项问题描述解决方式外部配置Java:java -jar命令讲解总结 java -jar修改SpringBoot中application.properties配置项 如果Spring Boot整合了Ma...[2023/2/15]

SpringBoot项目启动后再请求远程接口的实现方式

场景   有一个SpringBoot项目需要在启动后请求另一个远程服务拿取配置,而不是加载过程中去请求,可能会出现类没有实例化的场景,因此需要实现项目完全启动后再进行请求的场景。 解决 一般会有两种实现方式: 实现ApplicationRunner接口 @Component public...[2023/2/13]

【Spring】Bean注册注解

@Configuration  同@Component,将标注的类作为一个组件,区别是会使用Cglib动态代理,因此使用该注解的类不能是final的 与@Component的区别可见:Configuration和@Component的区别 Cglib动态代理和JDK动态代理区别可见...[2023/2/10]

Springboot整合AOP和注解,实现丰富的切面功能

简介 我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便。为了简便,我们还是来实现一个计时的功能。 整合过程 首先创建一个注解: @Retention(RetentionPolicy.RUNT...[2023/2/10]

SpringBean和Controller实现动态注册与注销过程详细讲解

SpringBean和Controller实现动态注册与注销过程详细讲解

目录说明注册和注销工具类编写测试用例测试结果注册Service注册controller注销Controller 部分场景下可能需要下载远程jar包,然后注册jar包中的Bean和Controller 说明 这里的Bean 一般特指 Service层的服务类,Controller本质上也是Be...[2023/2/10]

Spring事务管理中的异常回滚是什么

目录前言问题场景Spring 管理事务的原理MySQL中的事务管理JDBC中的事务管理Spring中的事务管理Spring中的事务接口到底回滚还是不回滚简明答案什么是执行事务的方法什么情况下异常被感知什么情况下异常不被感知异常被感知后Spring做些什么回滚程度是多少 记录总结Spring核心知识点...[2023/2/10]

在 SpringBoot 项目中简单实现 JWT 验证

在 SpringBoot 项目中简单实现 JWT 验证

使用 SpringBoot 提供 api 的时候,我更喜欢使用 jwt 的方式来做验证。网上有会多 Spring Security 整合 jwt 的,也有 Shiro 整合 jwt 的,感觉有点复杂。这里分享一下自己在项目中的简单实现。 依赖包 除了 SpringBoot 基本的依赖,需要一个...[2023/2/8]

Spring AOP与AspectJ的对比及应用

1 简介 AOP,即面向切面编程是很常用的技术,特别是在Java Web开发中。而最流行的AOP框架分别是Spring AOP和AspectJ。 2 Spring AOP vs AspectJ Spring AOP是基于Spring IoC实现的,它解决大部分常见的需求,但它并不是一个完整的A...[2023/2/8]

浅谈springBean的作用域

目录bean的作用域具体实现代码分析 前言:最近在进行springBean的作用域学习,并且学习了对应的例子。这里进行一下总结 一:Bean的作用域基础概念 如果想学习SpringBean的生命周期,那么就必须要学习Bean的作用域。因为不同的作用域的bean的生命周期不同 1:single...[2023/2/8]

Spring异步Async和事务Transactional注解

Spring开发中我们我们常常用到@Transaction和@Async,但这2个注解加在一起很多的开发者不敢用,担心事务不生效。下面我们就仔细讲解一下这2个注解同时运用,文章用3个场景讲述它们之间的运用,相信看完本篇文章你就能灵活运用这2个注解了。 场景一:@Async + @Transac...[2023/2/6]

Springboot?-?Fat?Jar示例详解

目录导读JAR 是什么JAR简介JAR结构包结构描述文件MANIFEST.MFFatJar有什么不同什么是FatJar?SpringBoot FatJar解决方案spring-boot-maven-plugin打包过程打包结果启动时的类加载原理启动的整个流程参考资料 导读 Spring Boot...[2023/2/2]

SpringBoot学习笔记 - 构建、简化原理、快速启动、配置文件与多环境配置、技术整合案例

【前置内容】Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入) Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 ...[2023/2/2]

Spring Security Form表单认证代码实例

Spring Security Form表单认证 Spring Security中,常见的认证方式可以分为HTTP层面和表单层面,如下: HTTP基本认证 Form表单认证 HTTP摘要认证 Spring Security Form表单实现实例: 1、pom依赖 1 <!-- ...[2023/2/1]

扒一扒Bean注入到Spring的那些姿势,你会几种?

大家好,我是三友~~ 这篇文章我准备来扒一扒Bean注入到Spring的那些姿势。 其实关于Bean注入Spring容器的方式网上也有很多相关文章,但是很多文章可能会存在以下常见的问题 注入方式总结的不全没有分析可以使用这些注入方式背后的原因没有这些注入方式在源码中的应用示例... 所以...[2023/2/1]

Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率

GraalVM安装 GraalVM安装 安装 请前往GraalVM官网 下载 GraalVM Community 22.3,注意当前支持的Springboot的GraalVM版本必须是22.3 笔者这里下载的Java版本为17,如下图 安装GraalVM的方法与安装JAVA方法大致相同,...[2023/2/1]

SpringBoot项目动态定时任务之 ScheduledTaskRegistrar(解决方案一)

前言 ? 在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求。 ? 如果客户需要改动业务的执行时间,即动态地调整定时任务的执行时间,那么可以采用SpringBoot自带的ScheduledTaskRegistrar类作为解决方案来实现。 ? 在单一使用S...[2023/2/1]

SpringBoot基于过滤器和内存实现重复请求拦截功能

SpringBoot基于过滤器和内存实现重复请求拦截功能

对于一些请求服务器的接口,可能存在重复发起请求,如果是查询操作倒是并无大碍,但是如果涉及到写入操作,一旦重复,可能对业务逻辑造成很严重的后果,例如交易的接口如果重复请求可能会重复下单。 这里我们使用过滤器的方式对进入服务器的请求进行过滤操作,实现对相同客户端请求同一个接口的过滤。 @Sl...[2023/2/1]

springboot&nbsp;防止重复请求防止重复点击的操作

  利用 springboot + redis 实现过滤重复提交的请求,业务流程如下所示,首先定义一个拦截器,拦截需要进行过滤的URL,然后用 se ion + URL 作为唯一 key,利用 redis setnx 命令,来判断请求是否重复,如果 key set 成功,说明非...[2023/2/1]

详解SpringBoot中的统一功能处理的实现

目录前言一、用户登录权限效验1.1 最初的用户登录验证1.2 Spring AOP 用户统一登录验证的问题1.3 Spring 拦截器1.4 拦截器实现原理1.5 扩展:统一访问前缀添加二、统一异常处理三、统一数据返回格式3.1 为什么需要统一数据返回格式3.2 统一数据返回格式的实现3.3 @Co...[2023/1/30]

SpringBoot源码学习3——SpringBoot启动流程

系列文章目录和关于我 一丶前言 在 《SpringBoot源码学习1——SpringBoot自动装配源码解析+Spring如何处理配置类的》中我们学习了SpringBoot自动装配如何实现的,在 《Spring源码学习笔记12——总结篇IOC,Bean的生命周期,三大扩展点》我们总结了Spri...[2023/1/20]

SpringBoot加载读取配置文件过程详细分析

SpringBoot加载读取配置文件过程详细分析

目录配置文件的读取顺序多坏境的配置文件个性化配置自定义配置文件名称和路径加载yml文件 springboot默认读取的配置文件名字是:“application.properties”和“application.yml”,默认读取四个位置的文件:根目录下...[2023/1/20]

统一返回对象封装和统一异常捕获封装springboot starter

好久没有更新文章了,高龄开发没什么技术,去了外包公司后没怎么更新文章了。今天分享下统一处理starter,相信开发web系统的时候都是会涉及到前后端的交互,而后端返回数据的时候一般都会统一封装一个返回对象和统一处理异常,一般情况下都是在controller的每个方法中调用封装的对象,把相应的数据...[2023/1/18]

SpringBoot&nbsp;Security实现单点登出并清除所有token

目录需求记录token清除token解决登出时长过长 需求 A、B、C 系统通过 o 服务实现登录A、B、C 系统分别获取 Atoken、Btoken、Ctoken 三个 token其中某一个系统主动登出后,其他两个系统也登出至此全部 Atoken、Btoken、Ctoken 失效 记录to...[2023/1/16]

SpringMVC&nbsp;HttpMessageConverter报文信息转换器

目录1、@RequestBody2、RequestEntity3、@ResponseBody4、SpringMVC处理json5、@RestController注解6、ResponseEntity6.1、文件下载6.2、文件上传 HttpMe ageConverter,报文信息转换器,将请求报文转换...[2023/1/16]

SpringMVC&nbsp;@RequestMapping注解作用详解

目录1、@RequestMapping注解的功能2、@RequestMapping注解的位置3、@RequestMapping注解的value属性4、@RequestMapping注解的method属性5、@RequestMapping注解的params属性(了解)6、@RequestMapping...[2023/1/16]

Spring项目中用了这种解耦模式,经理对我刮目相看

前言 不知道大家在项目中有没有遇到过这样的场景,根据传入的类型,调用接口不同的实现类或者说服务,比如根据文件的类型使用 CSV解析器或者JSON解析器,在调用的客户端一般都是用if else去做判断,比如类型等于JSON,我就用JSON解析器,那如果新加一个类型的解析器,是不是调用的客户端还要修...[2023/1/11]

Spring 6 源码编译和高效阅读源码技巧分享

一. 前言 Spring Boot 3 RELEASE版本于 2022年11月24日 正式发布,相信已经有不少同学开始准备新版本的学习了,不过目前还不建议在实际项目中做升级,毕竟还有很多框架和中间件没出适配版本。此次Spring Boot里程碑的升级也要求了最低JDK 17 和 Spring F...[2022/12/12]

SpringBoot向Excel模板中写入数据并下载 (无需获取file对象及模板绝对路径)

之前用获取模板路径的方式测试没问题打包后就有问题了 莫名出现一个! 找了很多教程尝试无果 最终使用下面这个方式 无需获取file对象以及模板路径的方式进行写入下载 (那个设置浏览器编码没有测试不知道能不能用!!!) public void export(SampleFilterA...[2022/12/12]

399
2
记录数:615 页数:1/1312345678910下一页尾页
 友情链接: NPS
加载更多