JDK 核心 API
Spring 对 Java 版本依赖支持
Spring 对 Java 版本特性使用
Java 5 语法特性
语法特性 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
注解(Annotation) | 1.2+ | @Transaction |
事务控制 |
枚举(Enumeration) | 1.2+ | Propagation |
事务传播行为 |
for-each 语法 | 3.0+ | AbstractApplicationContext |
|
自动装箱拆箱 | 3.0+ | ||
泛型(Generic) | 3.0+ | APplicationListener |
Java 6 语法特性
语法特性 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
接口 @Override | 4.0+ |
Java 7 语法特性
语法特性 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
Diamond 语法 | 5.0+ | DefaultListableBeanFactory |
|
try…with… resources 语法 | 5.0+ | ResourceBundleMessageSource |
国际化 |
Java 8 语法特性
语法特性 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
Lambda 语法 | 5.0+ | ProtertyEditorRegistrySupport |
Spring 对 JDK API 实践
< Java 5 API
API 类型 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
反射 | 1.0+ | MethodMatcher |
AOP |
Java Beans | 1.0+ | CachedIntrospectionResults |
|
动态代理 | 1.0+ | JdkDynamicAopProxy |
|
XML 处理(DOM、SAX……) | 1.0+ | XmlBeanDefinitionReader |
将 XML 里的配置读取为 BeanDefinition |
Java 管理扩展(JMX) | 1.2+ | `[@ManagedResource ](/ManagedResource )<br /> <br />@Transaction |
将 bean 标记为 JMX 的 bean 事务相关 |
Instrumentation | 2.0+ | InstrumentationSavingAgent |
将 Instrumentation 存储到本地,用来进行字节码重写 |
并发框架(J.U.C) | 3.0+ | ThreadPoolTaskScheduler |
关于线程池的简单封装 |
格式化(Formatter) | 3.0+ | DateFormatter |
时间格式化,类似 JDK 中的 SimpleDateFOrmatter |
Java 6 API
API 类型 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
JDBC 4.0(JSR 221) | 1.0+ | JdbcTemplate |
|
Common Annotations(JSR 250) | 2.5+ | CommonAnnotationBeanPOstProcessor |
|
JAXB 2.0「Java API for XML Binding」(JSR 222) | 3.0+ | Jaxb2Marshaller |
|
Scripting in JVM(JSR 223) | 4.2+ | StandardScriptFactory |
|
可拔插注解处理 API(JSR 269) | 5.0+ | @Indexed |
编译时将 API 建立索引。比如 @ComponentScan , @ComponentScan 会指定 basePackages,如果指定过多,则索引时间变长,使用参考:SpringFramework5.0 @Indexed注解 简单解析 |
Java Compiler API(JSR 199) | 5.0+ | TestCompiler(单元测试) | APT(Annotation Processing Tool,注解处理器)在编译时使用 |
可以在运行时单独建立一个编译器,达到测试效果 |
Java 7 API
API 类型 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
Fork/Join 框架(JSR 166) | 3.1+ | ForkJoinPoolFactoryBean |
生成 Fork/Join 的 Pool |
NIO 2(JSR 203) | 4.0+ | PathResource |
Java 8 API
类型 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
Date and Time API(JSR 310) | 4.0+ | DateTimeContext |
|
可重复 Annotations(JSR 337) | 4.0+ | @PropertySource |
|
Stream API(JSR 335) | 4.2+ | StreamConver |
转为 Stream |
CompletableFuture(J.U.C) | 4.2+ | CompletableToListenableFutureAdapter |
Spring 对 Jave EE API 整合
Java EE Web 技术
JSR 规范 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
Servlet + JSP(JSR 035) | 1.0+ | DispatcherServlet |
|
JSTL(JSR 052) | 1.0+ | JstlView |
|
JavaServer Faces(JSR 127) | 1.1+ | FacesContextUtils |
Web 渲染技术 |
Portlet(JSR 168) | 2.0-4.2 | DispatcherPortlet |
|
SOAP「Simple Object Access Protocol」(JSR 067) | 2.5+ | SoapFaultException |
|
WebServices(JSR 109) | 2.5+ | CommonAnnotationBeanPostProcessor |
|
WebSocker(JSR 356) | 4.0+ | WebSocketHandler |
Java EE 数据存储
JSR 规范 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
JDO「Java Data Object」(JSR 12) | 1.0-4.2 | JdoTemplate |
|
JTA「Java Transaction API」(JSR 907) | 1.0+ | JtaTranscationManager |
事务 API |
JPA(EJB 3.0 JSR 220 成员) | 2.0+ | JpaTransactionManager |
|
Java Caching API(JSR 107) | 3.2+ | JCacheCache |
NoSQL |
Java EE Bean 技术
JSR 规范 | Spring 支持版本 | 代表实现 | 实现对应用途 |
---|---|---|---|
JMS(JSR 914) | 1.1+ | JmsTemplate |
|
EJB 2.0(JSR 19) | 1.0+ | AbstractStatefulSessionBean |
|
Dependence Injection for Java(JSR 330) | 2.5+ | AutowireAnnotationBeanPostProcessor |
|
Bean Validation(JSR 303) | 3.0+ | LocalValidatorFactoryBean |