SpringBoot
二饭
公众号:全栈开发日记
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【开发日记】SpringBoot 实现支持多个微信小程序的登录
本文介绍了如何基于weixin-java-miniapp SDK实现多微信小程序统一登录的后台方案。通过配置文件动态管理多个小程序的appid和secret,使用工厂类WxMiniAppServiceFactory存储对应的WxMaService实例。登录服务通过appid选择对应服务,结合前端code获取用户openid,实现多小程序统一认证。方案支持灵活扩展新小程序,只需添加配置即可,无需修改核心代码。原创 2025-08-22 12:55:52 · 773 阅读 · 0 评论 -
SpringBoot 的@Repository 等注解的底层实现原理
*懒加载方式:**上文提到的懒加载时会在getBean时创建实例外的情况,这里不多描述。注解一个类时, Spring 内部使用一个三层缓存机制来管理Bean的生命周期,核心是在。等注解的类,加载IOC容器基本步骤,当 Spring Boot 应用启动时,默认情况下注册到IOC容器中的实例是单例,能保证每次获取到的是同一个实例。Spring 会读取每个使用了这些注解类的元数据,创建对应的。注解扫描注册到IOC容器时,默认的接口。获取托管的Bean实例,该方法由接口。的Bean,就根据对应的。原创 2025-07-29 22:04:22 · 449 阅读 · 0 评论 -
项目升级SpringBoot3:Cannot invoke “javax.script.ScriptEngine.eval(String)“ because “engine“ is null
项目所依赖的组件可能间接的依赖了脚本引擎;由于项目原来使用的是JDK8,而JDK8内置了脚本引擎,升级SpringBoot3所使用的JDK17无内置脚本引擎,需要我们手动引入相关依赖。我这里报错的原因是因为使用了EasyCaptcha组件导致。原创 2023-09-29 15:11:05 · 780 阅读 · 0 评论 -
项目升级SpringBoot3:java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest
并且项目中使用了Swagger,那么应该是Swagger版本问题,SpringBoot3中需要将springfox替换为springdoc。我这里使用的是knife4j来增强Swagger。由于在SpringBoot3版本中将。,如果我们项目中已经将所有的。原创 2023-09-24 21:19:17 · 6790 阅读 · 0 评论 -
【开发日记】聚合项目提示依赖项目没有找到Failure to find
聚合项目子项目找不到依赖原创 2023-01-07 11:34:08 · 1483 阅读 · 0 评论 -
【开发日记】Spring聚合项目启动时出现某某模块找不到类或注入不了Bean
执行主项目的mvn clean和mvn install,将所有资源重新打包。Spring聚合项目启动时出现某某模块找不到类或注入不了Bean。原创 2022-12-24 18:05:04 · 662 阅读 · 0 评论 -
【开发日记】Spring中@Autowired和@Resource
1.1、@Autowired注解由Spring提供,所属包:1.2、@Resource注解由JDK提供,所属包:2- 导入方式不同2.1、注解只能按照类型注入,如果需要使用此注解按名称注入的话则需要搭配@Qualifier来实现按名称注入。2.2、注解默认使用名称注入,但也可以使用类型注入。名称注入:类型注入:类型和名称同时指定:当类型与名称同时指定时,会找到唯一符合的bean进行注入。默认情况下,会在应用启动时@Autowired和@Resource注解会在IOC容器中查找相对应的Bean,如原创 2022-07-12 14:29:56 · 550 阅读 · 0 评论 -
【开发日记】Nacos安装踩坑日记
环境说明系统环境:远程服务器 Ubuntu LinuxNacos版本:2.1.0下载Nacos官方地址:https://github.com/alibaba/nacos/releases本文使用的是Nacos2.1.0。安装将下载好的压缩包上传至服务器。1、解压命令tar -xvf nacos-server-2.1.0.tar.gz2、配置数据库① 在解压后的nacos/conf目录下有一个nacos-mysql.sql文件,将其按文件中的指示创建数据库名nacos_config,并执原创 2022-05-24 20:14:22 · 689 阅读 · 0 评论 -
二饭管理系统:轻量级的“若依”管理系统
系统名称:二饭管理系统v1.0系统框架:SpringBoot+Vue目录:1、简介2、版本v1.0内置功能3、核心功能实现讲解1、简介看过若依的项目,稍显臃肿,对于轻量级项目来说大可不必!所以从零开发了这样一套后台系统,它优点在于轻量级,系统除了依赖MySQL之外,无依赖任何外部模块或应用。大多数的后台系统它都可以胜任,由于它是一个单应用的开发模式所以它的优点相对于其他多模块系统来说,它的优点在占用内存少、启动快、运行快、部署简单等。项目地址:https://gitee.com/S原创 2022-02-04 17:17:26 · 4162 阅读 · 1 评论 -
跨域请求常见错误及解决:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource
我的项目是Vue+Boot前后端分离项目。出现标题的错误信息的可能如下:第①种情况 后端没有设置跨域,这里以Boot项目为例,在类上使用如下注解:表示这个类中的方法都可以进行跨域@RestController@RequestMapping("client/recruit")@CrossOriginpublic class RecruitClient { }第②种情况 后端拦截器或过滤器中没有允许该请求方法通过,正确写法如下:拦截器示例response.setHeader("Access-原创 2021-12-14 14:12:28 · 14022 阅读 · 0 评论 -
SpringBoot后端配置允许自定义header
前言:前后端分离项目,前端传入自定义的header参数对服务器发起请求,但显示跨域错误解决:创建一个拦截器,在拦截器中编辑允许的自定义header,例子如下:public class AdminInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handl原创 2021-08-26 20:47:10 · 4449 阅读 · 0 评论 -
Java项目生成二维码
Java生成二维码的方式有很多,这里基于谷歌的zxing做演示。使用zxing的好处在于方便,zxing的jar包可在Maven中央仓库找到并依赖到本地。而像QRCode并不能直接依赖到本地,需要自行下载jar包然后安装到本地Maven仓库,相对多了一道程序。下面是使用zxing的项目流程:1-POM依赖<!-- 谷歌二维码生成--><dependency> <groupId>com.google.zxing</groupId> &原创 2021-07-27 12:46:35 · 387 阅读 · 0 评论 -
SpringBoot项目设置多线程异步定时任务
创建SpringBoot项目就不说了。如下是我的案例:@Component // IOC容器@EnableScheduling // 1.开启定时任务@EnableAsync // 2.开启多线程@Slf4j // 日志public class MultithreadScheduleTask { @Value("${blog.QRCodeFile}") String qrCodePath; /**转载 2021-07-26 14:32:52 · 280 阅读 · 0 评论 -
nested exception is io.lettuce.core.RedisException: java.io.IOException:远程主机关闭了一个连接
可尝试如下两个方案:1、修改服务器ssh配置加入如下配置:ClientAliveInterval 600 ClientAliveCountMax 10保存,重启ssh服务。2、设置连接池spring: # Redis 配置 redis: host: *.***.***.** port: 6379 password: 123456 timeout: 50s # 连接池 lettuce: pool: m原创 2021-07-21 17:24:02 · 3316 阅读 · 0 评论 -
SpringBoot配置拦截器,指定拦截或放行的请求路径
配置类:@Configurationpublic class AppConfig implements WebMvcConfigurer { @Bean public MyInterceptor myInterceptor() { return new MyInterceptor(); } /** * 注册自定义拦截器 * 指定要拦截的路径 * /api/blog/** 拦截请求前缀为api/blog的请求,其他请求放行原创 2021-07-21 10:44:35 · 12478 阅读 · 0 评论 -
SpringBoot-Vue项目整合WebSocket
SpringBoot-Vue项目整合WebSocket首发在公众号【全栈开发日记】介绍WebSocket是一种网络通信协议。和HTTP协议一样,都是基于TCP协议来传输数据。为什么需要WebSocket?因为有一些功能HTTP无法满足。HTTP协议是一种无状态的、无连接的、单项的应用层协议。基于HTTP协议的通信请求只能由客户端发起,服务端对请求做出处理。这种通信模型有一个弊端,它无法实现服务器主动向客户端发起请求。以微信举例,张三给李四发了一条消息,这条消息来到了服务器后无法给李四的客户端原创 2021-07-14 16:20:37 · 5244 阅读 · 0 评论 -
The WebSocket session [5] has been closed and no method (apart from close())
使用WebSocket协议服务端主动向客户端发送消息时,该Session对象关闭了才会出现该异常。可使用session.isOpen()方法判断该连接是否打开,再进行推送消息。if(wsController.session.isOpen()){ wsController.session.getBasicRemote().sendText(message);}...原创 2021-07-06 14:53:17 · 2111 阅读 · 0 评论 -
Java SpringBoot发送邮件,自定义发件人昵称/名称
POM依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>Java代码:SimpleMailMessage message = new SimpleMailMessage();message.setFrom(new Internet原创 2021-07-04 11:10:03 · 3517 阅读 · 0 评论 -
SpringBoot整合FastDFS文件上传出现java.net.SocketTimeoutException: Read timed out异常信息
不止是FastDFS文件上传,其他的分布式文件上传或普通文件上传,出现这个问题无非两个原因:1、连接不到服务器2、到达了连接服务器的超时时间先排除是不是连接不上tracker的可能。先传一个比较小的文件,如果小文件可以上传成功,只有大文件上传时才会出现java.net.SocketTimeoutException: Read timed out的异常。可以尝试如下方法:yml配置文件:# FastDFS配置fdfs: connect-timeout: 30000 # 连接超时时原创 2021-06-26 19:28:33 · 2512 阅读 · 0 评论 -
Spring拦截器获取注入的bean为null解决方式
出现问题的代码:public class MyInterceptor implements HandlerInterceptor { @Autowired ToolsService toolsService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {原创 2021-06-22 21:36:32 · 1639 阅读 · 2 评论 -
宿主机连接docker中的镜像,boot项目提示连接不到mysql
宿主机(安装docker的系统)连接docker中的镜像如:连接docker中的mysql,boot项目提示连接不到mysql。① 进入该镜像docker exec -it 镜像名称(NAMES) bash ② 查看镜像IPifconfig如提示没有该命令,执行如下命令安装:apt-get updateapt install net-tools # ifconfigiputils-ping # ping其中:eth0就是该docker的内网IP,宿主机可通过该IP连接到原创 2021-06-05 15:23:29 · 357 阅读 · 0 评论
分享