
springboot
文章平均质量分 60
_夜半钟声到客船
永远保持对技术的热情
展开
-
【面试】Java最新面试题资深开发-Spring篇(1)
问题八:Spring原理解释一下什么是Spring框架以及它的核心思想是什么?Spring中的IoC(控制反转)是什么,它如何实现?什么是DI(依赖注入)?Spring是如何支持依赖注入的?原创 2023-12-15 23:56:32 · 201 阅读 · 0 评论 -
学习提高:Idea 使用docker 部署SpringBoot应用并指定JVM参数,jdk8版本
最近项目中需要使用docker进行开发和部署SpringBoot应用,并指定JVM参数,因此进行相关研究。原创 2023-04-07 22:51:06 · 2177 阅读 · 1 评论 -
学习提高:Elasticsearch7.X 多层嵌套查询SpringBoot项目,源码示例,不区分大小写配置+搜索实现
Elasticsearch如何进行配置不区分大小写以及搜索实现。原创 2022-09-19 21:51:11 · 886 阅读 · 0 评论 -
学习提高:Elasticsearh嵌套搜索高亮关键词SpringBoot2.3,Elasticsearch7.6,spring-data-elasticsearch-4.0.9,嵌套查询+多条件查询
最近项目中在做一个功能,将搜索到的省市区(ES多层级嵌套数据)信息根据搜索项高亮显示。承接上一篇的示例:知识积累:Elasticsearch7.X 多层嵌套查询SpringBoot项目,源码示例,NativeSearchQuery和elasticsearchRestTemplate多级搜索实现这里根据搜索条件 工业园 进行搜索实现的效果如下图所示:具体实现逻辑:注意📢:由于spring-data-elasticsearch和高亮处理和org.elasticsearch.search的有区别,原创 2022-05-21 22:01:05 · 1154 阅读 · 3 评论 -
学习提高:Elasticsearch7.X 多层嵌套查询SpringBoot项目,源码示例,NativeSearchQuery和elasticsearchRestTemplate多级嵌套查询搜索实现
学习提高:Elasticsearch7.X 多层嵌套查询SpringBoot项目,源码示例,NativeSearchQuery和elasticsearchRestTemplate多级嵌套查询搜索实现原创 2022-05-18 12:34:38 · 2216 阅读 · 0 评论 -
【面试】MyBatis的DefaultSqlSession是不是线程安全的?SpringBoot项目中Spring是怎么处理的?
MyBatis的DefaultSqlSession是不是线程安全的?答案:DefaultSqlSession类是不安全的SpringBoot项目中Spring是怎么处理的?原创 2022-05-17 10:50:47 · 1313 阅读 · 0 评论 -
知识积累:Spring中使用@Transactional注解的事务未完成,MQ消息发出去了,导致出现问题,事务未提交mq消息发出去解决方案
最近项目当中有个场景问题,需要在数据更新完成之后,发送mq消息通知周边系统进行操作。但是周边系统需要用到当前事务更新完成的数据。经常出现mq消息处理过程中拿不到更新之后的数据。经过排查日志,查看sql执行情况,代码逻辑。还跟组内成员反复查看代码执行逻辑。就是没发现问题点在哪里!然后只能跟踪debug代码执行过程,终于发现在事务执行过程中,没看到commit的时候,mq就把消息发出去了。然后查看源码,发现在事务提交后,提供了afterCommit的方法,需要我们自己来实现。解决方案:1、把mq发消息放原创 2022-05-06 07:29:04 · 2919 阅读 · 2 评论 -
知识积累:EasyExcel导出Excel带中文水印,中文乱码处理,JDK8 jwt.font中文乱码解决方案
知识积累:EasyExcel导出Excel带中文水印,中文乱码处理,JDK8 jwt.font中文乱码解决方案原创 2022-04-10 13:03:41 · 4980 阅读 · 8 评论 -
知识积累:JDK1.8的parallelStream使用问题,ThreadLocal失效解决
parallelStream是创建一个并行的Stream,而且他的并行操作是不具备线程传播性的,ThreadLocal失效。原创 2022-03-31 09:57:15 · 2967 阅读 · 0 评论 -
知识积累:SpringBoot 解决跨域问题的代码
SpringBoot 解决跨域问题的代码原创 2022-02-09 10:50:00 · 310 阅读 · 0 评论 -
生产稳定:记一次生产问题,服务无响应,JVM内存爆满,频繁FullGC导致业务无响应,JVM调优实战
生产稳定:记一次生产问题,服务无响应,JVM内存爆满,频繁FullGC导致业务无响应,JVM调优实战原创 2021-12-29 22:38:51 · 3533 阅读 · 3 评论 -
知识积累:spring.data.redis获取key的有效期,set更新value,不重置过期时间做法
spring.data.redis获取key的有效期,不重置过期时间做法原创 2021-12-28 12:00:38 · 2336 阅读 · 0 评论 -
生产稳定:SpringBoot 2.3.12.RELEASE版本快速升级log4j2低版本,解决漏洞升级2.17.0版本,修改pom解决
SpringBoot 2.3.12.RELEASE版本升级log4j2低版本,解决漏洞升级到2.17.0原创 2021-12-14 19:54:58 · 2841 阅读 · 0 评论 -
MySQL 8.x版本报错问题分析和解决,which is not functionally dependent on columns in GROUP BY clause; this is inco
报错信息如下:#4 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘t.dept_code’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by最近项目中上了新功能,同时做了数据库的备库方案,但是当应用访问备库时原创 2021-12-03 14:36:36 · 10012 阅读 · 0 评论 -
生产稳定:SpringBoot-Admin 2.X 微服务监控+健康检查+钉钉告警部署踩坑记录
继上一篇 SpringBoot-Admin 微服务监控+健康检查+钉钉告警,附代码配置项目部署上线后,会偶尔出现下面的异常,导致告警消息并非是真正服务实例出现异常,{ "statusInfo": { "status": "OFFLINE", "details": { "exception": "org.springframework.web.reactive.function.client.WebClientRequestException原创 2021-12-01 11:16:16 · 1781 阅读 · 0 评论 -
生产稳定:SpringBoot-Admin 微服务监控+健康检查+钉钉告警,附代码配置
基于SpringCloud微服务平台,进行服务实例监控及健康检查,注册中心为eureka,SpringBoot提供了很好的组件SpringBoot Admin,2.X版本直接可以配置钉钉机器人告警。搭建admin-serverpom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20原创 2021-10-27 11:12:05 · 1837 阅读 · 0 评论 -
知识积累:SpringBoot-data-Redis的RedisTemplate的opsForList,操作List<Object>集合的leftPushAll和rightAll问题;分页查询list
最近项目在用RedisTemplate的opsForList进行对象集合的存储并进行分页查询;可是当使用supportRedisTemplate.opsForList().rightPushAll(key, lists);默认走了Long rightPushAll(K var1, V… var2);试了很多种方式,将lists类型强转为Collection,将lists转为String[],最后都没有成功。只会存储一个整体的对象,无法使用range(),来进行分页查询。只能采取曲线救国的方案原创 2021-10-15 22:34:15 · 3001 阅读 · 0 评论 -
Spring中多个service处理同一行数据多次,出现事务互相等待超时问题,Lock wait timeout exceeded;try restarting transaction
Spring中多个service处理同一行数据多次,出现事务互相等待超时问题遇到的问题:某service的一个方法handleMethodA举例子1:@Transactional(value="transManager")public void handleMethodA(){ ... @Transactional serviceB.handleMethdB();// 操作的数据表是order,同一行数据 sericeC.postMethodC(xxx);原创 2021-08-19 14:16:38 · 1222 阅读 · 0 评论 -
深入理解SPI机制
一、什么是SPISPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC、SpringCloud中都使用到了SPI机制。我们先通过一个很简单的例子来看下它是怎么用的。代码示例:// 1、定义接口package com.liang.spi;/** * SPI接口 * @autho原创 2020-10-20 16:59:44 · 416 阅读 · 0 评论 -
springsecurity-oauth2集成,jwt生成token,源码解析
springsecurity-oauth2集成,jwt生成token认证@Configuration@EnableAuthorizationServerpublic class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter { @Autowired private DataSource dataSource; @Autowired private JwtAccessToke原创 2020-08-14 18:57:45 · 1408 阅读 · 0 评论 -
SpringBoot集成 Spring Security出现UserNotFoundException 不抛出问题
最近项目中在使用Spring Security的token;在做退出和验证时,出现UserNotFoundException 不抛出问题;当用户不存在时,只会抛出BadCredentialsException,而不是UsernameNotFoundException;首先debug断点跟踪进入该断点行中,根据断点信息已知 providers 一共只有1个,当前的 providers 是 DaoAuthenticationProvider代码1:protected final U..原创 2020-08-05 11:56:53 · 1831 阅读 · 0 评论 -
SpringBoot采用websocket同客户端通讯,带心跳处理;并支持wss通过nginx访问
SpringBoot采用websocket同客户端通讯,带心跳处理;并支持wss通过nginx访问目录1、websocket是什么?2、springboot使用websocket3、nginx配置支持wss访问websocket的协议接口1、websocket是什么?websocket是2、springboot使用websocket3、nginx配置支持wss访问websocket的协议接口...原创 2020-07-09 16:38:02 · 1684 阅读 · 3 评论 -
通过Spring的AOP实现接口重复提交限制+Redis锁解决重复数据问题
由于项目中遇到很多场景,前端和客户端的请求到服务端出现重复,比如添加购物车,收藏商品,下单等接口;经常出现同一个用户的同一的请求同时请求到服务端,导致数据库出现重复数据;出现重复数据的原因就是同一个请求同时发起多次请求服务端;服务端接收到的请求没有做幂等处理(这个需要在请求接口之前与服务端保持一个当前请求的唯一id,保证只处理一次,这样做可以保证请求不会处理多次,但是增加了前端和客户端的工作量,需要在每次发起业务请求之前,获取这个全局唯一的请求id,这个唯一id的时效性也需要评估);另一种解决请求重原创 2020-07-03 09:26:32 · 1452 阅读 · 0 评论 -
springboot2.X openfeign 报异常IOException Incomplete output stream
问题描述:最近项目进行springboot1.x 升级到2.x;升级之后,服务之间的调用出现fallback异常;仔细查看调用过程,feign客户端请求正常,服务提供方接收和响应正常;feign客户端响应接收异常(直接进入fallback具体异常:Caused by: java.io.IOException: Incomplete output stream);查看源码发现,openfeign底层使用的是rt.jar的HTTPUrlConnection进行的请求,//异常://sun.原创 2020-05-08 18:11:19 · 2516 阅读 · 0 评论 -
Alibaba nacos 本地构建以及源码研究
首先通过github pull源码到本地,git clone https://github.com/alibaba/nacos.git但是启动会报错:分析报错原因,根据报错的提示可以看到ServerMemberManager类;直接点进去看ServerMemberManager的源码;下面是跟踪步骤:1. init();3. // Initializes the lookup mode initAndStartLookup(); 3.this.lookup = LookupFact原创 2020-06-05 16:11:04 · 2255 阅读 · 6 评论 -
springboot+springcloud 微服务架构搭建
1.背景目的随着业务的增长和复杂性的不断增加,传统的技术手段已经越来越难以维护和实现。微服务,需要系统要提供一套基础的架构,提供微服务的底座功能, 支持微服务的松耦合和带来的优点.需要以下:每个业务服务采用独立的MYSQL数据库,初期考虑用到如下组件:1. 服务注册、发现: eureka 2. 配置管理: apollo 3. 集群容错: hystrix 4. API网关...原创 2020-07-09 17:54:27 · 871 阅读 · 0 评论