...小于 1 分钟
- Java197
 - 编程8
 - 设计78
 - DevOps8
 - 数据结构和算法16
 - 数据库101
 - 网络19
 - 分布式74
 - 大数据33
 - 软件工程3
 - 工作8
 - 笔记30
 - JavaSE61
 - JavaEE15
 - 软件20
 - 工具37
 - 框架68
 - 中间件9
 - 编程范式4
 - 编程语言3
 - Python6
 - 架构31
 - 设计模式27
 - 重构7
 - DDD2
 - UML4
 - 综合22
 - 监控2
 - 线性表4
 - 树6
 - 数据库综合3
 - 数据库中间件4
 - 关系型数据库20
 - 文档数据库12
 - KV数据库19
 - 列式数据库14
 - 搜索引擎数据库25
 - 网络综合8
 - 网络协议6
 - 网络技术4
 - 操作系统13
 - 操作系统应用2
 - 分布式综合3
 - 分布式理论12
 - 分布式协同13
 - 分布式调度6
 - 分布式高可用1
 - 分布式通信31
 - 分布式存储7
 - hadoop7
 - hive8
 - spark1
 - flink9
 - 其他15
 - 人工智能1
 - 基础特性15
 - 高级特性7
 - 容器7
 - IO10
 - 并发12
 - JVM12
 - JavaWeb6
 - 服务器8
 - 构建9
 - IDE4
 - 监控诊断6
 - JavaBean2
 - 模板引擎4
 - 测试5
 - Spring61
 - ORM3
 - 安全8
 - 缓存5
 - 流量控制2
 - 微服务5
 - 解决方案8
 - Git3
 - Shardingsphere2
 - Mysql10
 - 数据库``1
 - MongoDB11
 - Redis17
 - HBase12
 - Elasticsearch16
 - Elastic8
 - Linux11
 - 命令1
 - 分布式协同综合6
 - ZooKeeper6
 - RPC8
 - MQ17
 - hdfs4
 - 效能6
 - 方法论2
 - 规范3
 - Tomcat6
 - Maven7
 - Spring综合5
 - Spring核心24
 - Spring数据10
 - SpringWeb8
 - SpringIO4
 - Spring集成4
 - Spring安全1
 - Spring其他4
 - RPC综合4
 - Dubbo2
 - MQ综合2
 - Kafka9
 - RocketMQ4
 - 其他MQ1
 
Spring 应用上下文生命周期
Spring 应用上下文启动准备阶段
AbstractApplicationContext#prepareRefresh() 方法
- 启动时间 - startupDate
 - 状态标识 - closed(false)、active(true)
 - 初始化 PropertySources - initPropertySources()
 - 检验 Environment 中必须属性
 - 初始化事件监听器集合
 - 初始化早期 Spring 事件集合
 
...大约 3 分钟
Spring Environment 抽象
理解 Spring Environment 抽象
统一的 Spring 配置属性管理
Spring Framework 3.1 开始引入 Environment 抽象,它统一 Spring 配置属性的存储,包括占位符处理和类型转换,不仅完整地替换 PropertyPlaceholderConfigurer,而且还支持更丰富的配置属性源(PropertySource)
条件化 Spring Bean 装配管理
通过 Environment Profiles 信息,帮助 Spring 容器提供条件化地装配 Bean
...大约 2 分钟
Spring 注解
Spring 注解驱动编程发展历程
- 注解驱动启蒙时代:Spring Framework 1.x
 - 注解驱动过渡时代:Spring Framework 2.x
 - 注解驱动黄金时代:Spring Framework 3.x
 - 注解驱动完善时代:Spring Framework 4.x
 - 注解驱动当下时代:Spring Framework 5.x
 
Spring 核心注解场景分类
Spring 模式注解
| Spring 注解 | 场景说明 | 起始版本 | 
|---|---|---|
| @Repository | 数据仓储模式注解 | 2.0 | 
| @Component | 通用组件模式注解 | 2.5 | 
| @Service | 服务模式注解 | 2.5 | 
| @Controller | Web 控制器模式注解 | 2.5 | 
| @Configuration | 配置类模式注解 | 3.0 | 
...大约 2 分钟
Spring 事件
Java 事件/监听器编程模型
设计模式 - 观察者模式扩展
- 可观者对象(消息发送者) - java.util.Observable
 - 观察者 - java.util.Observer
 
标准化接口
- 事件对象 - java.util.EventObject
 - 事件监听器 - java.util.EventListener
 
面向接口的事件/监听器设计模式
事件/监听器场景举例
...大约 4 分钟
Spring 泛型处理
Java 泛型基础
泛型类型
- 泛型类型是在类型上参数化的泛型类或接口
 
泛型使用场景
- 编译时强类型检查
 - 避免类型强转
 - 实现通用算法
 
泛型类型擦写
- 泛型被引入到 Java 语言中,以便在编译时提供更严格的类型检查并支持泛型编程。类型擦除确保不会
为参数化类型创建新类;因此,泛型不会产生运行时开销。为了实现泛型,编译器将类型擦除应用于:- 将泛型类型中的所有类型参数替换为其边界,如果类型参数是无边界的,则将其替换为
“Object”。因此,生成的字节码只包含普通类、接口和方法 - 必要时插入类型转换以保持类型安全
 - 生成桥方法以保留扩展泛型类型中的多态性
 
 - 将泛型类型中的所有类型参数替换为其边界,如果类型参数是无边界的,则将其替换为
 
...大约 3 分钟
Spring 类型转换
Spring 类型转换的实现
- 基于 JavaBeans 接口的类型转换实现
- 基于 java.beans.PropertyEditor 接口扩展
 
 - Spring 3.0+ 通用类型转换实现
 
使用场景
| 场景 | 基于 JavaBeans 接口的类型转换实现 | Spring 3.0+ 通用类型转换实现 | 
|---|---|---|
| 数据绑定 | YES | YES | 
| BeanWrapper | YES | YES | 
| Bean 属性类型转换 | YES | YES | 
| 外部化属性类型转换 | NO | YES | 
...大约 3 分钟
Spring 数据绑定
Spring 数据绑定(Data Binding)的作用是将用户的输入动态绑定到 JavaBean。换句话说,Spring 数据绑定机制是将属性值设置到目标对象中。
在 Spring 中,数据绑定功能主要由 DataBinder 类实现。此外,BeanWrapper 也具有类似的功能,但 DataBinder 额外支持字段验证、字段格式化和绑定结果分析。

...大约 3 分钟
Spring 校验
Java API 规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。
...大约 9 分钟
Spring 国际化
Spring 国际化使用场景
- 普通国际化文案
 - Bean Validation 校验国际化文案
 - Web 站点页面渲染
 - Web MVC 错误消息提示
 
Spring 国际化接口
- 核心接口:
org.springframework.context.MessageSource - 主要概念
- 文案模板编码(code)
 - 文案模板参数(args)
 - 区域(Locale)
 
 
...大约 2 分钟