首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具

springboot

springboot源码解析
专栏成员
242
文章
35891
阅读量
26
订阅数
MapStruct从入门到精通:Java对象映射的终极指南
在Java开发中,对象之间的转换(如DTO转Entity、VO转BO)是常见但繁琐的任务。传统的getter/setter方式不仅繁琐且易错,而反射工具BeanUtils.copyProperties()则存在性能问题。MapStruct作为基于注解的代码生成器,提供了编译时类型安全的优雅解决方案。本文将深入解析MapStruct的核心功能与最佳实践。
冬天vs不冷
2025-04-22
100
SpringBoot条件注解全解析:核心作用与使用场景详解
Spring Boot 的条件注解(Conditional Annotations)是自动配置(Auto-Configuration)的核心机制之一。它们允许开发者根据特定的条件动态决定是否加载某个Bean或配置类,从而实现灵活的“按需配置”。本文将系统梳理所有常用的条件注解,结合代码示例说明其作用与使用场景。
冬天vs不冷
2025-04-15
850
EasyExcel导出自动回显中文,读取自动转换码值(基于全局转换器与自定义注解)
在实际业务中,我们经常需要将数据库中的码值(如 1, 2, 3)在导出Excel时显示为中文(如“进行中”、“已完成”、“已取消”),而在导入Excel时,用户填写的中文需要自动转换为对应的码值。本文将介绍如何通过全局转换器(GlobalCodeConverter) 和自定义注解实现这一功能,结合数据库动态查询码表,提升代码复用性和可维护性。
冬天vs不冷
2025-04-02
1640
Spring组件初始化扩展点:BeanPostProcessor
在Spring框架中,BeanPostProcessor是一个强大的扩展接口,允许开发者在Bean初始化的过程中插入自定义逻辑。它是Spring IoC容器生命周期管理的核心机制之一,广泛应用于属性注入、AOP代理、监控等场景。理解BeanPostProcessor的工作机制,能够帮助开发者更灵活地定制Spring容器的行为。
冬天vs不冷
2025-03-18
1010
Spring组件实例化扩展点:InstantiationAwareBeanPostProcessor
InstantiationAwareBeanPostProcessor 是 Spring 生命周期中的一个关键扩展接口,继承自 BeanPostProcessor。它在 Bean 的实例化阶段(即对象创建和属性注入阶段)提供了额外的回调方法,允许开发者:
冬天vs不冷
2025-03-11
1020
IDEA中Git版本回退终极指南:Reset与Revert双方案详解
作为开发者,代码版本回退是日常高频操作。IntelliJ IDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择困惑。本文将解析Reset与Revert两种方案的操作细节及避坑指南。
冬天vs不冷
2025-03-05
1.9K1
深入解析Spring核心扩展点:BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor
在Spring框架中,容器扩展机制是实现高度灵活性和动态配置的关键。其中,BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor是Spring提供的两个核心接口,允许开发者在容器启动过程中对Bean的定义(BeanDefinition)进行动态干预。尽管二者功能相似,但它们的作用阶段和使用场景存在显著差异。本文将深入探讨这两个接口的原理、区别及实际应用,帮助开发者精准掌握它们的用法。
冬天vs不冷
2025-02-28
1220
SpringBoot源码解析(十一):准备应用上下文
在前文中,我们介绍了应用上下文的构造方法初始化两个组件:注解Bean定义读取器和类路径Bean定义扫描器,接下来,我们将探究下准备应用上下文阶段对外的扩展点。
冬天vs不冷
2025-02-25
880
解决MySQL错误:You can‘t specify target table ‘xxx‘ for update in FROM clause
在编写MySQL的UPDATE或DELETE语句时,如果子查询中直接引用了要操作的目标表,可能会遇到一个常见的错误: You can’t specify target table ‘xxx’ for update in FROM clause。 这个错误让许多开发者感到困惑。本文将深入分析其原因,并提供多种解决方案。
冬天vs不冷
2025-02-20
1910
深入理解Spring FactoryBean:灵活创建复杂对象的秘密武器
  在 Spring 框架中,Bean 的创建通常由容器直接通过反射机制完成。然而,某些场景下对象的创建逻辑较为复杂(例如需要依赖外部资源、动态代理或定制化初始化流程),此时直接通过 @Bean 注解可能无法满足需求。FactoryBean 是 Spring 提供的一个强大接口,允许开发者通过编程方式控制 Bean 的创建过程。
冬天vs不冷
2025-02-18
1140
Spring排序机制:接口与注解的使用
Spring 提供了多种机制来满足这些需求,其中最常见的就是通过 Ordered 接口、PriorityOrdered 接口、@Order 注解和 @Priority 注解来控制 Bean 的排序优先级。
冬天vs不冷
2025-02-13
900
SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法
在前文中,我们了解了应用上下文、Bean工厂以及Bean定义的核心组件功能,接下来,我们将深入探讨应用上下文的构造方法。
冬天vs不冷
2025-02-11
1340
Spring容器初始化扩展点:ApplicationContextInitializer
ApplicationContextInitializer是 Spring 框架提供的一个接口,用于在 Spring 应用上下文(ApplicationContext)刷新之前对其进行自定义初始化。它允许开发者在上下文加载 Bean 定义之前,对上下文进行一些额外的配置或修改。
冬天vs不冷
2025-02-07
1360
SpringBoot源码解析(九):Bean定义接口体系
SpringBoot源码解析(二):引导上下文DefaultBootstrapContext
冬天vs不冷
2025-02-04
1130
SpringBoot源码解析(八):Bean工厂接口体系
在前文中,我们详细概述了SpringBoot架构中应用上下文结构体系的各个组件。其中,通用应用上下文(GenericApplicationContext)通过创建 DefaultListableBeanFactory,负责注册、管理和创建Bean定义,同时支持依赖注入和动态Bean管理。DefaultListableBeanFactory结构相对复杂,接下来我们将对其组件逐一进行介绍。
冬天vs不冷
2025-02-02
1030
java日志门面之JCL和SLF4J
随着系统开发的进行,可能会更新不同的日志框架,造成当前系统中存在不同的日志依赖,让我们难以统一的管理和控制。借鉴JDBC的思想,为日志系统也提供一套门面,那么我们就可以面向这些接口规范来开发,避免了直接依赖具体的日志框架。这样我们的系统在日志中,就存在了日志的门面和日志的实现。
冬天vs不冷
2025-01-21
990
java日志框架之Log4j
冬天vs不冷
2025-01-21
1570
java日志框架之JUL(Logging)
用户使用Logger来进行日志记录,Logger持有若干个Handler,日志的输出操作是由Handler完成的。在Handler在输出日志前,会经过Filter的过滤,判断哪些日志级别过滤放行哪些拦截,Handler会将日志内容输出到指定位置(日志文件、控制台等)。Handler在输出日志时会使用Layout,将输出内容进行排版。
冬天vs不冷
2025-01-21
1250
\r和\n不同系统的区别
在最初的电传打印机时代,每打完一行需要换行的时候,耗费的时间正好是打印两个字符的时间。那么如果这段时间内正好传来两个字符,就会打印不出来。所以当时就在一行的最后增加了两个字符,一个叫做"回车",告诉打字机把打印头定位在左边界;另一个叫做"换行",告诉打字机把纸向下移一行。
冬天vs不冷
2025-01-21
1550
SpringBoot基础(四):bean的多种加载方式
使用AnnotationConfigApplicationContext对象加载MyConfig,即使MyConfig类什么注解没有,也会被注册为bean。
冬天vs不冷
2025-01-21
1640
点击加载更多
活动推荐
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档