核心特性
-
IOC 容器(Ioc Containers) -
Spring 事件(Events) 基于 Java 事件来进行扩展的,但是与 Java 的标准事件有一些区别 -
资源管理(Resource) 继承自 Java 的资源管理,部分 API 是借鉴了 Java 核心的底层 API 的一个实现 -
国际化(i18n) Java 默认就支持国际化,Spring 的国际化也是 Java API 进行实践的 -
校验(Validation) 整合了 Bean Validation -
数据绑定(Data Binding) 外面的属性和 Java 的 POJO 的 Setter、Getter 来进行一个数据上的转化和绑定 -
类型转换(Type Conversion) -
Spring 表达式(Spring Express Language) -
面向切面变成(AOP)
数据存储
-
JDBC -
事务抽象 -
DAO 支持 -
O/R 映射 -
XML 编列
Web 技术
Web Servlet 技术栈【Spring 1-4的唯一支持】
Web Reactive 技术栈【Spring 5引入】
技术整合(Integration)
-
远程调用(Remoting)
-
Java 消息服务(JMS)
-
Java 连接架构(JCA) -
Java 管理扩展(JMX) -
Java 邮件客户端(Email) -
本地任务(Tasks) -
本地调度(Scheduling) -
缓存抽象(Caching) -
Spring 测试(Testing)
测试(Testing)
-
模拟对象 -
TestContext 框架 -
Spring MVC 测试 -
Web 测试客户端
Spring 模块化设计
-
spring-aop -
spring-aspects -
spring-context-indexer -
spring-context-support -
spring-context -
spring-core -
spring-expression -
spring-instrument(Java 的 agent 的一个支持) -
spring-jcl(Spring 5 开始支持的,帮助 Spring 统一日志管理) -
spring-jdbc -
spring-jms -
spring-messaging -
spring-orm -
spring-oxm(xml 的序列化和反序列化) -
spring-test -
spring-tx -
spring-web -
spring-webflux -
spring-webmvc -
spring-websocket
Spring 编程模型
-
面向对象编程
-
面向切面编程
-
面向元编程
-
注解:模式注解(@Component、@Service、@Repository …) -
配置:Environment 抽象、PropertySources、BeanDefination … -
泛型:GenericTypeResolver、ResolvableType … -
函数驱动
-
模块驱动
-
Maven Artifacts -
OSGI Bundles -
Java 9 Automatic Modules -
Spring @Enable*
Ioc 主要实现策略
IOC 容器的职责
-
通用职责 -
依赖处理
-
生命周期管理
-
容器 -
托管的资源(Java Beans 或其他资源) -
配置
-
容器 -
外部化配置 -
托管的资源(Java Beans 或其他资源)
Ioc 容器的实现
-
Java SE
-
Java EE
-
开源
-
Apache Avalon -
Google Guice -
Spring Framework
传统 IOC 容器的实现
-
Java Beans 作为 IOC 容器 -
特性
-
依赖查找 -
生命周期管理 -
配置元信息【譬如:反射以及反射对应的应用】 -
事件 -
自定义 -
资源管理 -
持久化 -
规范
Spring 容器概述
-
Spring IOC 依赖查找 -
Spring IOC 依赖注入 -
Spring IOC 依赖来源 -
Spring IOC 配置元信息 -
Spring IOC 容器 -
Spring 应用上下文 -
使用 Spring IOC 容器 -
Spring IOC 容器生命周期 -
面试题精选
Spring IOC 依赖查找
-
根据 Bean 名称查找
-
根据 Bean 类型查找
-
根据 Bean 名称 + 类型查找 -
根据 Java 注解查找
Spring IOC 依赖注入
-
根据 Bean 名称注入 -
根据 Bean 类型注入
-
注入容器内建 Bean 对象 -
注入非 Bean 对象 -
注入类型
Spring IOC 依赖来源
Spring IOC 配置元信息
-
Bean 定义配置
-
基于 XML 文件 -
基于 Properties 文件 -
基于 Java 注解 -
基于 Java API -
IOC 容器配置
-
基于 XML 文件 -
基于 Java 注解 -
基于 Java API -
外部化属性配置
Spring IOC 容器
BeanFactory 和 ApplicationContext 谁才是 Spring IOC 容器
Spring 应用上下文
ApplicationContext 除了 IOC 容器角色,还提供
使用 Spring IOC 容器
Spring IOC 容器生命周期
Spring IOC 容器启动时做了那些准备
IOC 配置元信息读取和解析【XML 配置,注解等】、IOC 容器生命周期、Spring 事件发布、国际化等。
|