Is there an unresolvable circular reference循环注入问题的解决 Java Spring 博主自留地

Is there an unresolvable circular reference循环注入问题的解决

今天在在项目中新增了一个服务,然后启动该服务,spring容器初始化报错:循环依赖,错误信息如下: Requested bean is currently in creation: Is there an unresolvable circular reference? 折腾了三个小时,特此记录一下! 错误的原因大概是: 新增该服务之前,服务A已经注入了服务C中的bean,...
阅读全文
java开发时各类工具的使用规范 Java 编程技术

java开发时各类工具的使用规范

工具类规范 一个项目不可能没有工具类,工具类的初衷是良好的,代码重用,但到了后面工具类越来越乱,有些项目工具类有几十个,看的眼花缭乱,还有不少重复。如何编写出好的工具类,我有几点建议: 隐藏实现 就是要定义自己的工具类,尽量不要在业务代码里面直接调用第三方的工具类。这也是解耦的一种体现。如果我们不定义自己的工具类而是直接使用第三方的工具类有2个不好的地方: 不同的...
阅读全文
SpringBoot 入门:10 - 统一异常处理 Java 编程技术

SpringBoot 入门:10 - 统一异常处理

在开发过程中,我们经常会遇到程序报错的情况,对调用方来说,这种情况下他们能看到的就是一大段错误或者是描述模糊的提示。我们希望对可预期的异常进行全局捕获,并进行适当处理,然后以清晰的说明返回给调用方。 在 Spring Boot 中我们可以使用 @ControllerAdvice 注解然后配合 @ExceptionHandler 对不同类型的异常进行统一的捕获并输出: @ExceptionHan...
阅读全文
Java 并发编程之 ReentrantLock 源码分析 Java 编程技术

Java 并发编程之 ReentrantLock 源码分析

我是一个优秀的人,但也有缺点,比我优秀的人有很多很多。连自己都认输,何谈你的对手,与你一样优秀,甚至比你优秀的人。战胜自己,就是最大的超越。 在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile。我们知道synchronized关键字实现了内置锁,而volatile关键字保证了多线程的内存可见性。 在大多数情况下,这些机制都能很好地完成工作,但...
阅读全文
超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer! Java 编程技术

超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。 所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇)...
阅读全文
Java8线程池ThreadPoolExecutor底层原理及其源码解析 Java 编程技术

Java8线程池ThreadPoolExecutor底层原理及其源码解析

小侃一下 日常开发中, 或许不会直接new线程或线程池, 但这些线程相关的基础或思想是非常重要的, 参考 林迪效应 ; 就算没有直接用到, 可能间接也用到了类似的思想或原理, 例如tomcat, jetty, 数据库连接池, MQ; 本文不会对线程的基础知识进行介绍, 所以最好已"进食"关于线程的基础知识, 再"食用"本文更佳; 由于在...
阅读全文
golang+jenkins自动化部署方案 Java 编程技术

golang+jenkins自动化部署方案

先说一下实现思路,在gitee和Jenkins使用webhook来触发构建,构建策略中做的事情是ssh连接远程服务器,然后执行部署命令。 Jenkins环境搭建 Jenkins安装 Jenkins的安装有两种方式,一种是下载war包放在tomcat中跑,一种是docker中直接拉取镜像运行,这里只讲解第二种方式。 拉取镜像 docker pull jenkins/jen...
阅读全文
一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址) Java 编程技术

一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)

来源:http://39sd.cn/02464 前言 这套Base Admin是一套简单通用的后台管理系统,主要功能有:权限管理、菜单管理、用户管理,系统设置、实时日志,实时监控,API加密,以及登录用户修改密码、配置个性菜单等 技术栈 前端:layui java后端:SpringBoot + Thymeleaf + WebSocket + ...
阅读全文
记一次FullGC的排查经历--从FullGC日志到业务代码 Java 编程技术

记一次FullGC的排查经历--从FullGC日志到业务代码

问题的发生 简单介绍下我们服务的背景,我们的服务是一个使用类似dubbo的RPC框架以及若干Spring全家桶组合起来的微服务架构,大致结构可以参考下图。 Java服务使用的是CMS的垃圾回收器。 某天突然收到一台实例(即一个Java应用)产生FullGC日志的报警,如上图红色标记的服务,FullGC的日志信息如下: 2020-07-25T14:55:07.481+0...
阅读全文
开发|Springboot简单实现文件上传 Java 编程技术

开发|Springboot简单实现文件上传

欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。 欢迎加入团队圈子!与作者面对面!直接点击! 1 前言 下面是一个简单的在springboot项目里的实现文件上传简单例子。 2 创建一个Config 首先在config文件夹下创建一个MyWebConfig的...
阅读全文
学习 | Spring Cloud Config 从入门到精通 Java 编程技术

学习 | Spring Cloud Config 从入门到精通

小小又开始学习了,这次学习的内容是Spring Cloud 相关内容,这次学习的是Config相关的内容。 通过git完成分布式的配置文件的部署,达到更新git,就可以更新配置信息的功能、 Server端 添加相关maven 这里配置Server端 添加相关的依赖 <dependency> <groupId>org.sprin...
阅读全文
Loading...