SpringBoot自动配置
SpringBoot自动配置
自动配置模块的核心,就是编写自动配置的核心代码,然后将自动配置的核心类,配置在核心的配置文件
配置文件: META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
阿里云OSS自动配置
第1步:创建自定义starter模块 aliyun-oss-spring-boot-starter(进行依赖管理)
...
【开发问题】GeoServer 跨域问题解决方案
by emanjusaka from https://www.emanjusaka.com/archives/geoserver-cross-error 彼岸花开可奈何
本文为原创文章,可能会更新知识点以及修正文中的一些错误,全文转载请保留原文地址,避免产生因未即时修正导致的误导。
博客:https://www.emanjusaka.com
博客园:https://www.cnblogs.com/emanjusaka
公众号:emanjusa ...
老弟第一次学 Redis,被坑惨了!小白可懂的保姆级 Redis 教程
你是小阿巴,刚入职的程序员。
这天,产品经理找到你:阿巴阿巴,用户吐槽咱们网站首页加载太慢,快优化!
你打开监控一看,好家伙!每秒有上万个用户在访问首页,每次都要查询 MySQL 数据库来获取热门文章。
虽然你运用毕生所学优化了数据库查询,但它还是扛不住这么高的并发。
你急得满头大汗:数据库快撑不住了 ...
深入认识ClassLoader - 一次投产失败的复盘
问题背景
投产日,同事负责的项目新版本发布,版本包是SpringBoot v2.7.18的一个FatJar,java -jar启动报错停止了,输出的异常日志如下:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [com/alibaba/druid/spring/boo ...
【电商行业案例】基于Vaadin全栈Java框架,打造百万级订单的B2B电商SaaS平台
在全球B2B电商领域,意大利SaaS平台 Rewix 正在用全新的方式重塑企业间的数字化交易体验。借助 Vaadin 全栈 Java 框架,Rewix 成功将传统的电商后台系统升级为现代化、可扩展的企业级 SaaS 平台——实现了每家客户百万级订单的高效处理、更快的功能交付,并构建出媲美 B2C 电商体验的高质量用户界面。
...
记账:流水报表
流水报表展示收入、支出、转账的流水条数,可用于判断记账的活跃状况(用处不大,由于只需在现有的设计上改动少许即可,因此顺手做了)
查询流水报表:底部ledgers直接输入4(3表示出入报表),分组等其他条件可选
下面为参考图:25年约记了1700条流水(日均约6条,且呈上升趋势),收入流水有所增加(近期部分小额红 ...
国产化Word处理控件Spire.Doc教程:用Java实现TXT文本与Word互转的完整教程
纯文本(.txt)文件因简洁通用被广泛使用,但无法支持字体、表格、图片等格式;而 Word(.docx)文件虽具备丰富的排版能力,却难以直接用于文本分析、索引等场景。本文将详细介绍如何通过 Spire.Doc for Java(一款轻量级 Word 处理库),快速实现 TXT 文本文件与 Word 的双向转换。
Spire.Doc for Java下载  ...
C#转java的最好利器easy-query就是efcore4j sqlsugar4j freesql4j
C#转java的最好利器easy-query就是efcore4j sqlsugar4j freesql4j
背景
随着信创或者其他一系列面向领导编程导致部分使用C#的公司转型java,java下EfCore、SqlSugar 、FreeSql的竞品或者替代品就是easy-query
本章节我将介绍隐式分区分组在实际中如何使用
并且带来秒杀全世界ORM的独特功能隐式Group又叫GroupJoin可以无缝合 ...
Springboot 常见面试题汇总
SpringBoot基础
什么是 Spring Boot?
SpringBoot是一个简化 Spring 应用程序开发的框架,它的主要目标是减少 Spring 应用程序的配置和开发复杂性,使我们能够更快地构建、测试和部署 Spring 应用。简单来说,它通过提供默认配置、自动化配置和嵌入式服务器等功能,简化了传统Spring 应用的繁琐配置过程。有人将一些依赖关系 ...
keycloak~标准的国际化设计
在 Keycloak 中,国际化设置和默认语言的配置主要涉及以下几个方面:
1. Keycloak 配置
在 Keycloak 的管理控制台中,你可以通过以下步骤设置默认语言:
登录到 Keycloak 管理控制台。
选择你的 Realm。
转到 Realm 设置(Realm Settings)。
在 国际化(Internationalization)选项卡中,可以设置默认语言。
如果没有明 ...
剑指offer-35、数组中的逆序对
题⽬描述
在数组中的两个数字,如果前⾯⼀个数字⼤于后⾯的数字,则这两个数字组成⼀个逆序对。输⼊⼀个数组,求出这个数组中的逆序对的总数。
输⼊⼀个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007
示例 1:
输⼊: [7,5,6,4]
输出: 5
限制:0 <= 数组⻓度 <= 50000
思路及解 ...
统一管理第三方包的依赖包版本号
起因
在java项目中,我在maven的pom.xml中引用了io.github.officiallysingh:spring-boot-starter-spark:1.3包,然后这个包里又有org.apache.spark:spark-core_2.13:3.5.5包的引用,而在spark-core_2.13包中又引用了org.apache.avro:avro-mapred:1.11.4包,这个包的版本0.10.0修改为0.9.0,我们如何实现呢?
推荐方法
通过 ...
聚合系统设计-批付交易中的“双批次ID设计(or双批次号设计)” // 双批次ID设计:在复杂业务场景下构建清晰、可维护的应用系统
本文将聚焦于聚合支付系统商户API批量付款场景,深入剖析双批次ID设计方案如何从程序设计合理性和系统性能优化两个核心维度带来显著优势。通过双批次ID设计,实现在复杂业务场景下构建清晰、可维护的应用系统。
1. 业务场景与核心挑战
聚合支付系统的商户批付API接口,业务场景通常是这样的----->商户侧系统通过调用API接口 ...
剑指offer-34、第⼀次出现的字符
题目描述
在⼀个字符串( 0<=字符串⻓度<=10000 ,全部由字⺟组成)中找到第⼀个只出现⼀次的字符,并返回它的位置, 如果没有则返回 -1 (需要区分⼤⼩写).(从 0 开始计数)
示例1
输⼊:"google"
返回:4
思路及解答
暴力遍历(不推荐)
通过双重循环检查每个字符是否只出现一次。
public class Solution {
public int ...
Jenkins Share Library教程 —— 开发入门
写在前面
今日心情有点小丧,但总体问题不大,有一些突然来的活,还没整完,明天再继续搞把。
有难度吗?
有一些把,我觉得还是要做一些自己不擅长的工作,才会有成长的吧,为什么?
用我们测试同学的话术,就是提升“自己”的“测试覆盖率”,即解决问题的能力,核心就是会了就是赚了!
学习目标
通过本教程,你将学会:
...
【技术干货】Vaadin Flow vs Hilla:你该选择哪个Java Web框架?
在现代Web开发中,前后端分离已成为主流趋势,但对于许多以 Java 为核心技术栈 的企业来说,如何高效地构建现代化Web应用依然是一个挑战。今天我们为大家介绍的,是由 Vaadin 平台 提供的两种开源全栈Web框架 —— Vaadin Flow 与 Vaadin Hilla。它们自 Vaadin 24.4 起成为平台核心组成 ...
Spring 事务、循环依赖连环问
Spring 事务
详情请查看:Spring 事务
Spring 事务实现方式有哪些?
事务就是一系列的操作原子执行。Spring事务机制主要包括声明式事务和编程式事务。
编程式事务:通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。
声明式事务:将事务管理代码从业务方法中分离出来,通过aop进行封装。Spring声明式事务 ...
CopyOnWriteArrayList 的故事--一起看看java原生的读写分离
CopyOnWriteArrayList 是JUC中,为了实现高并发而提供的list容器之一。对于大部分的业务场景,都是读多写少,并发度也基本卡在了读的位置。通常支持并发的容器在解决并发时,采用是:(1)数据分割,每个线程只操作属于当前线程自己的数据,如ThreadLocal (感兴趣的同学可以看我前文 《Java内存模型及Java关键字 volatile ...
为什么不该用 Double 表示金额及解决方案
众所周知,double 和 float 这些浮点数其实是不精确的。
比如 0.1 + 0.2 并不等于 0.3,而是等于 0.30000000000000004——这也一度成为程序员圈子里的经典梗。所以用浮点数表示金额这种需要精确计算的数值,是会出现精度丢失问题的。
double a = 0.1;
double b = 0.2;
System.out.println(a + b); // 输出: 0.3000000000000 ...
Spring AOP、MVC高频面试题解析
什么是AOP?
面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。
面向切面编程和面向对象编程的区别,两者有冲突吗?
面向切面编程(AOP)和面向对 ...