总览
版本与 API
Spring Framework 与 Java 版本的对应关系
| Spring Framework | Java SE | Java EE |
|---|---|---|
| 1.x | 1.3+ (动态代理,AOP) | J2EE 1.3+ (Servlet 2.3 事件,Spring 事件) |
| 2.x | 1.4.2+(NIO) | J2EE 1.3+ |
| 3.x | 5+(注解、枚举) | J2EE 1.4, Java EE 5 |
| 4.x (Spring Boot 1.0) | 6+ Java EE 6, Java EE 7 | |
| 5.x | 8+ | Java EE 7 |
Java 各版本语法特性在 Spring 上的体现
Java 5 语法特性在 Spring 上的体现
| 语法特性 | Spring 版本 | 代表实现 |
|---|---|---|
| 注解 | 1.2+ | @Transactional |
| 枚举 | 1.2+ | Propagation |
| for-each | 3.0+ | AbstractApplicationContext |
| 自动装箱 | 3.0+ | |
| 泛型 | 3.0+ | ApplicationListener |
Java 6 语法特性在 Spring 上的体现
| 语法特性 | Spring 版本 | 代表实现 |
|---|---|---|
| @Override | 4.0+ |
Java 7 语法特性在 Spring 上的体现
| 语法特性 | Spring 版本 | 代表实现 |
|---|---|---|
| Diamond 语法 | 5.0+ | DefaultListableBeanFactory |
| try-with-resources 语法 | 5.0+ | ResourceBundleMessageSource |
Java 8 语法特性在 Spring 上的体现
| 语法特性 | Spring 版本 | 代表实现 |
|---|---|---|
| Lambda 语法 | 5.0+ | PropertyEditorRegistrySupport |
Java 各版本 API 在 Spring 上的体现
< Java 5 API 在 Spring 上的体现
| API | Spring 版本 | 代表实现 |
|---|---|---|
| 反射 | 1.0+ | MethodMatcher |
| Java Beans | 1.0+ | CachedIntrospectionResults |
| 动态代理 | 1.0+ | JdkDynamicAopProxy |
Java 5 API 在 Spring 上的体现
| API | Spring 版本 | 代表实现 |
|---|---|---|
| XML 处理 | 1.0+ | XmlBeanDefinitionReader |
| Java 管理扩展 | 1.2+ | @ManagedResource |
| Instrumentation | 2.0+ | InstrumentationSavingAgent |
| 并发框架 | 3.0+ | ThreadPoolTaskScheduler |
| 格式化 | 3.0+ | DateFormatter |
Java 6 API 在 Spring 上的体现
| API | Spring 版本 | 代表实现 |
|---|---|---|
| JDBC 4.0 | 1.0+ | JdbcTemplate |
| Common Annotations | 2.5+ | CommonAnnotationBeanPostProcessor |
| JAXB 2.0 | 3.0+ | Jaxb2Marshaller |
| Scripting in JVM | 4.2+ | StandardScriptFactory |
| 可插拔注解处理 | 5.0+ | @Indedxed |
| Java Compiler API | 5.0+ | TestCompiler |
< Java 7 API 在 Spring 上的体现
| API | Spring 版本 | 代表实现 |
|---|---|---|
| Fork/Join | 3.1+ | ForkJoinPoolFactoryBean |
| NIO 2 | 4.0+ | PathResource |
< Java 8 API 在 Spring 上的体现
| API | Spring 版本 | 代表实现 |
|---|---|---|
| Date, Time | 4.0+ | DateTimeContext |
| 可重复 Annotations | 4.0+ | @PropertySources |
| Stream | 4.2+ | StreamConverter |
| CompletableFuture | 4.2+ | CompletableToListenableFutureAdapter |
Java EE 各 API 在 Spring 上的体现
Web API
| JSR | Spring 版本 | 代表实现 |
|---|---|---|
| Servlet + JSP | 1.0+ | DispatcherServlet |
| JSTL | 1.0+ | JstlView |
| JavaServer Faces | 1.1+ | FacesContextUtils |
| Portlet | 2.0 - 4.2 | DispatcherPortlet |
| SOAP 简单对象访问协议 | 2.5+ | SoapFaultException |
| WebServices | 2.5+ | CommonAnnotationBeanPostProcessor |
| WebSocket | 4.0+ | WebSocketHandler |
数据存储
| JSR | Spring 版本 | 代表实现 |
|---|---|---|
| JDO | 1.0 - 4.2 | JdoTemplate |
| JTA (事物) | 1.0+ | JtaTransactionManager |
| JPA | 2.0+ | JpaTransactionManager |
| Java Caching API (NIO) | 3.2+ | JCacheCache |
Bean
| JSR | Spring 版本 | 代表实现 |
|---|---|---|
| JMS | 1.1+ | JmsTemplate |
| EJB 2.0 | 1.0+ | AbstractStatefulSessionBean |
| Dependency Injection for Java | 2.5+ | AutowiredAnnotationBeanPostProcessor |
| Bean Validation | 3.0+ | LocalValidatorFactoryBean |
核心模块
spring-core 基础 API。包括资源管理、泛型处理等。spring-beans Bean 相关,提供依赖查找、依赖注入等功能。spring-aop AOP 处理相关,提供动态代理、 AOP 字节码提升等功能。spring-context 提供事件驱动、注解驱动、模块驱动等功能。spring-expression 表达式语言支持功能。