Spring 和 JAVA 的牵绊

10 篇文章 0 订阅

Spring 和 JAVA 的牵绊

Spring框架是一个开放源代码J2EE应用程序框架,是针对bean的生命周期进行管理的轻量级容(lightweight container)。Spring提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。

Spring Framework 和 JAVA 版本的牵绊

Spring Framework 后续简称为Spring,下面是Spring版本所需的Java最低版本

Spring FrameworkJavaSEJavaEE
1.X1.3+1.3+
2.X1.4.2+1.3+
3.X5+1.4–5+
4.X6+6–7
5.X7+7

Spring版本,1.X.X

  • 1 - 主版本,重大版本更新

  • X,从版本,通常提供一些不是很重要特性,维持在原有版本基础上进行更新

  • X,次要版本,一般进行一些bug修复或者部分特性提升

  • SpringFramework早期被称为interface21。Java1.3开始引入动态代理。引入接口进行动态代理,是Spring实现AOP的重要环节。Java EE 1.3对应servlet2.3版本支持servlet事件,Spring支持事件,servlet事件和Spring的事件都是基于Java的标准事件
  • Spring 2.x 支持Java安全部分 ,Java 1.4.2支持NIO
  • Spring 3 引入注解和枚举,确定了Spring的内核,如注解驱动,事件驱动,AOP支持,Java5开始支持注解及枚举
  • Spring 4 主要是针对3进行提升,通过注解以及对Java8支持的提升。最低要求是Java 6,目的是为了更多支持,从Spring 4开始支持springboot1.X。可以这么说,从Spring 4开始,逐步形成Spring的体系
  • Springboot 2.X 是基于Spring5
Java 版本语法特性 和 Spring版本之间的关联

spring的优点,版本强迫跟随Java新特性的升级

Java版本Java语法特性spring版本代表实现
5注解(Annotation)1.2+@Transactional
5枚举1.2+Propagation
5for-each语法3.0+AbstractApplicationContext
5自动装箱/拆箱(AutoBoxing)3.0+
5泛型(Generic)3.0+ApplicationListener
6接口@Override4.0+
7Diamond5.0+DefaultListableBeanFactory
7try-with-resources语法5.0+ResourceBundleMessageSource
8lambda语法5.0+PropertyEditorRegistrySupport
1. Spring 与 Java 核心API 之间的关系
API类型spring支持版本代表实现
反射(Reflection)1.0+MethodMatcher
Java Beans1.0+CachedIntrospectionResults
动态代理(Dynamic Proxy)1.0+JdkDynamicAopProxy
XML处理(DOM,SAX…)1.0+XmlBeanDefinitionReader
JDBC(4.0)1.0+JdbcTemplate
Java管理扩展(JMX)1.2+@ManagedResource/@Transactional
Instrumentation2.0+InstrumentationSavingAgent
Common Annotation2.5+CommonAnnotationBeanPostProcessor
并发框架(J.U.C)3.0+ThreadPoolTaskScheduler
格式化(Formatter)3.0+DateFormatter
JAXB 2.03.0+Jaxb2Marshaller
Fork/Join框架3.1+ForkJoinPoolFactoryBean
NIO 24.0+PathResource
Dare and Time API4.0+DateTimeContext
可重复的 Annotations4.0+@PropertySources
Scripting in JVM4.2+StandardScriptFactory
CompletableFuture(J.U.C)4.2+CompletableToListenableFutureAdapter
Java compiler API5.0+TestComplier(单元测试)
可插拔注解处理API5.0+@Indexed
Java compiler API5.0+TestComplier(单元测试)
可插拔注解处理API5.0+@Indexed

Java 6

  • Javac进程是由Java complier api接口实现;
  • Java 6支持脚本语言在Java上部署

java 7

  • NIO 2.0主要提供了文件/路径的抽象以及异步NIO的支持
  • Fork/Join是在juc上做补充,提供符合join模型,帮助实现复杂的并行计算
  • Invokedynamic字节码支持动态语言如:groovy,kotlin,Java 7 以后支持动态语言在Jvm上运行

java 8

  • ComletableFuture主要是对Future做了一些支持,比如Reactive的支持
2. Spring 和 JavaEE web相关技术方面

Java 6 之后引入JSR规范,括号内是JSR编码

JSR规范spring支持版本代表实现
Servlet + JSP(035)1.0+DispacherServlet
JSTL(052)1.0+JstlView
JavaServer Faces(127)1.1+FacesContextUtils
Portlet(168)2.0–4.2DispatcherPortlet
SOAP(067)2.5+SoapFaultException
WebServices(109)2.5+CommonAnnotationBeanPostProcessor
WebSocket(356)4.0+WebSocketHandler
  • DispatcherServlet的核心是Servlet应用,SpringFramerworkServlet扩展,以及视图的渲染
  • JSTL在jsp基础上增加标签的扩展,如struts标签,以及Spring自己的jsp的tag(标签)、
  • JavaServer Face,Java的另一套渲染技术,主要是视图渲染技术,通过服务端保存状态等等
  • Portlet,和servlet对应,servlet是web方面,protlet是门户方面
  • SOAP, webservice协议的封装
3. Spring 和 Java EE 数据存储相关
JSR规范spring支持版本代表实现
JDO(12)1.0–4.2JdoTemplate
JTA(907)1.0+JtaTransactionManager
JPA2.0+JpaTransactionManager
Java Caching API(107)3.2+JCacheCache
  • JDO/JTA/JPA是SQL方向的,即关系型数据库
  • Java Caching API是NoSql方向的,即key-value类型存储
4. Spring 和 JavaEE Bean 相关
JSR规范spring支持版本代表实现
JMS(914)1.1+JmsTemplate
EJB 2.0(19)1.0+AbstarctStatefulSessionBean
Dependency InJection for Java (330)2.5+AutowriedAnnotationBeanPostProcessor
Bean Validation(303)3.0+LocalValidatorFactoryBean
  • JMS,消息驱动bean,Spring支持到 JMS 1.2 相关版本
  • EJB,主要代表bean,有状态的bean/无状态bean/消息驱动bean/session bean/持久化bean
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值