青云博客 记录、分享

SpringBoot2.x自定义starter

一、说明 咱们使用SpringBoot的时候,经常使用xxx-starter,比如:mybatis-spring-boot-starter、spring-boot-starter等等,然后就可以再加载maven后,使用相应的对象。你有没有这样的疑问:为什么一个简单地引入一个starter就可以使用某

青云 发布于 2025-12-31

SpringBoot的starter原理

Spring Boot 自定义 Starter 原理详解 一、核心机制 Spring Boot 自定义 Starter 的核心机制基于“约定优于配置”原则,通过自动装配机制实现开箱即用的功能模块。其主要原理包括: 自动配置机制‌ Spring Boot 通过 @Conditional 注解(如 @C

青云 发布于 2025-12-31

规则引擎 Drools

1、问题 对于不经常变化的业务,我们通常是硬编码到程序中。但是经常变化的业务,我们就得把业务流程从代码中剥离出来,我们怎么从程序中剥离出去?这里就需要用到规则引擎了。 规则引擎可以做到把算法剥离出程序,你可以保存到TXT文件或者数据库表里面,用的时候再加载回程序。虽然加载回来的算法是字符串,但是规则

青云 发布于 2025-07-26

Langchain4j-初探

一、简介 LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程 官网: https://docs.langchain4j.dev

青云 发布于 2025-06-02

WinSW部署稳定Springboot程序

说明:公司给整了一台windows服务器,用于部署三个小项目,最开始我编写了一个简单的.bat启动脚本,但是后面发现这样启动的程序及其不稳定,每过段时间,程序就自动挂了(进程显示正常,但是不提供服务了)。于是就使用今天的WinSW。 其实我一直拒绝在windows系统上部署项目,因为我知道windo

青云 发布于 2025-05-23

Jasypt敏感数据加密

说明:在日常开发中,我们经常会在 yml 配置文件中存放一些敏感数据,例如数据库的用户名、密码,以及第三方应用的密钥等。然而,这些信息如果直接以明文形式存储在配置文件中,会带来严重的安全隐患。为了提升数据安全性,今天我将为大家介绍如何借助 jasypt 工具,实现对 yml 文件中敏感信息的加密处理

青云 发布于 2025-04-30

手把手带你搭建CI/CD工作流

什么是CI/CD? 持续集成(ContinousIntergration,CI)是在源代码变更后自动检测、拉取、构建和进行自动化测试的过程,属于开发人员的自动化流程。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。其基本思路是,自动化监测代码仓库的变化并拉取最新代码、编译构建和

zhanxuewei zhanxuewei 发布于 2025-03-16

SSO单点登录设计方案及落地

什么是SSO? 单点登录(Single Sign On,简称 SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权,无需再次登录。这种技术目前得到了广泛使用,它核心解决了一个问题:用户只需要登录一次,就可以访问所有相互信任的应用系统。SSO是一种思想,或者说是一种解决方案,是抽象

zhanxuewei zhanxuewei 发布于 2025-03-16

equals()和hashCode()有什么关系?为什么要重写它们?

一、核心概念: 1.equa1s()定义: equals()是Object类中的方法,用于判断两个对象是否相等。 默认实现是比较对象的引用地址(==),即它们是否是同一个对象。 我们需要重写equals()方法,让其比较对象内容而非地址。 2.hashCode()定义: hashCode()方法返回

zhanxuewei zhanxuewei 发布于 2025-03-09

Java中时间处理

一、LocalDateTime、LocalDate、Date三者联系 这里先说一下,为什么日期有Date了,还在JDK8中推出了LocalDateTime、LocalDate呢? 原因Date: 非线程安全的方法 Date类的大部分方法都不是线程安全的,比如setYear()、setMonth()、

青云 发布于 2024-12-17
上一页 下一页