Spring Freamwork 总览
1、版本特性:Spring 各个版本依赖和支持
| Spring Framework 版本 | Java 标准版 | Java 企业版 |
|---|---|---|
| 1.x | 1.3+ | J2EE 1.3+ |
| 2.x | 1.4.2+ | J2EE 1.3+ |
| 3.x | 5+ | J2EE 1.4 和 Java EE 5 |
| 4.x | 6+ | Java EE 6 和 7 |
| 5.x | 8+ | Java EE 7 |
2、模块化设计:Spring 包含哪些核心模块?
- spring-core: Spring 基础API模块,如资源管理,泛型处理
- spring-beans: Spring Bean 相关,如依赖查找,依赖注入
- spring-aop: Spring AOP 处理,如动态代理,AOP字节码提升
- spring-context: 事件驱动、注解驱动、模块驱动等
3、技术整合:Spring 各个版本对各技术整合支持情况
-
Spring 对 Java 语言特性运用
语法特性 Spring 支持版本 代表实现 注解 Java 5 1.2+ @Transactional 枚举 1.2+ Propagation for-each 语法 3.0+ AbstractApplicationContext 泛型 3.0+ ApplicationListener 接口@Override 6 4.0+ Diamond 语法 7 5.0+ DefaultListableBeanFactory try-with-resources 语法 5.0+ ResourceBundleMessageSource Lambda 语法 8 5.0+ PropertyEditorRegistrySupport -
Spring 对 JDK API 实践
API 类型 Spring支持版本 代表实现 反射 1.0+ MethodMatcher 动态代理 1.0+ JdkDynamicAopProxy Xml 处理 Java 5 1.0+ XmlBeanDefinitionReader 并发框架 3.0+ ThreadPoolTaskScheduler 格式化 3.0+ DateFormatter JDBC 4.0 Java 6 1.0+ JdbcTemplate Java Complier Api 5.0+ TestComplier Fork/Join 框架 Java 7 3.1+ ForkJoinPoolFactoryBean NIO2 4.0+ PathResource Stream API Java 8 4.2+ StreamConverter CompletableFeture 4.2+ CompletableToListerableFutureAdapter -
Spring 对 Java EE 整合
Spring 官方文档根路径JSR 规范 Spring 支持版本 代表实现 Servlet+JSP 1.0+ DispatcherServlet SOAP 2.5+ SoapFaultException WebServices 2.5+ CommonAnnotationBeanPostProcesor WebSocket 4.0+ WebSocketHandler JTA 1.0+ JtaTransactionManager Dependency Injection for Java 2.5+ AutowiredAnnotationBeanPostProcessor Bean Validation 3.0+ LocalValidatorFactoryBean
4、编程模型:Spring 实现了哪些编程模型?
-
面向对象编程
契约接口:Aware、BeanPostProcessor…
设计模式:观察者模式、组合模式、模板模式…
对象继承:Abstract*类
-
面向切面编程
动态代理:JDKDynamicAopProxy
字节码提升:ASM、CGLib、Aspectj…
-
面向元编程
注解:模式注解(@Component、@Service、@Repository…)
配置:Environment抽象、PropertSources、BeanDefinition…
泛型:GenericTypeResolver、ResolvableType…
-
函数驱动
函数接口:ApplicationEventPublisher
Reactive: Spring Webflux
-
模块驱动
Maven Artifacts
Java 9 Automatic Modules
Spring @Enable*
5、核心价值:Spring 有哪些经验和教训值得我们学习?
更多精选好文请关注个人公众号: