spring-core-1-09 | Java EE API整合:为什么Spring要与“笨重”的Java EE共舞?JSR标准还有哪些?

Spring 对Java EE API 整合

因为 Java EE 太完备了, 所以spring还是要考虑到对 Java EE 的支持.

Java EE Web 技术相关

在这里插入图片描述
Servlet + JSP(JSR 035) 1.0 + DispatcherServlet
Servlet的API和JSP的API, 这里就避不过去springMVC的核心实现, DispatcherServlet, 其不仅对Servlet的API进行扩展, 同时还进行视图的渲染, 如JSP的渲染.
JSR 035 就是对 Servlet 和 JSP 标准的合并.

JSTL(JSR 052) 1.0 + JstlView
JSTL就是在JSP的基础上做的一些扩展, 比如Struts标签就是一个方面, spring自己也有一套JSP的Tag标签. (当然这都好久不用了)

JavaServer Faces(JSR 127) 1.1 + FacesContextUtils
java中提供的另一种web的渲染技术, JSF , 国内用的极少, 但是国外极多. JSF主要是一种视图渲染技术, 通过服务端的方式来保存一些状态.

Portlet(JSR 168) 2.0 - 4.2 DispatcherPortlet
Prolet与Servlet是相对的, Servlet主要关注Web方面, Protlet主要关注的是我们的门户, 这个门户的支持是在2.0~4.2, 在spring5 这个支持就被挪掉了

SOAP(JSR 067) 2.5 + SoapFaultException
SOAP(Simple Object Access Protocol), 简单对象访问协议, 是WebService的一个通讯协议.当然这里spring只是做了一个简单的封装, 并不是有它进行的实现.

WebServices(JSR 109) 2.5 + CommonAnnotationBeanPostProcessor
比如@WebService注解, 就是spring对WebService的一些支持

WebSocket(JSR 356) 4.0 + WebSocketHandler
其实WebSocket很早就出现了, 但是在Java规范里出现的比较晚, 可以看到JSR的编号比较靠后, spirng的支持也是在 spring4之后才有的.

Java EE 数据存储相关

在这里插入图片描述

前三个是sql方面的, 后一个是NoSql方面的

JDO(JSR 12) 1.0 - 4.2 JdoTemplate
JPA早期产品, 或者说是半成品, spring5就不支持的

JTA(JSR 907) 1.0 + JtaTransactionManager
JTA(Java Transaction API), 也就是java的事务API, 其实spring的事务抽象并不是它发明的, 只是在前人基础上做的封装

JPA(EJB 3.0 JSR 220的成员) 2.0 + JpaTransactionManager
JPA, 不用多说, Hibernate提供了主要的实现, 而spring提供的是事务的封装, 与JTA一样的类似规则

Java Caching API(JSR 107) 3.2 + JCacheCache
NoSql的实现, spring自己也有一个Cache的实现

Java EE Bean 技术相关

在这里插入图片描述

JMS(JSR 914) 1.1 + JmsTemplate
JMS在EJB又叫Java Message Driven Bean, 消息驱动Bean, JMS的消息中间件产品并不常用

EJB 2.0 (JSR 19) 1.0 + AbstractStatefulSessionBean
EJB里面有三种代表性的Bean, 有状态的Bean, 无状态的Bean, 消息驱动Bean, 会话Bean(Session Bean)

Dependency Injection for Java(JSR 330) 2.5 + AutowiredAnnotationBeanPostProcessor
这个就是那个依赖注入的API, 其实就是原来spring 的 @Autowired 注解, 放到 Java EE 中叫, @Injected 注解, AutowiredAnnotationBeanPostProcessor 提供了@Autowired 和 @Injected的实现

Bean Validation(JSR 303) 3.0 + LocalValidatorFactoryBean
这个是Hibernate提供的实现, 关于那些非空验证之类注解的.

资源相关

在这里插入图片描述

• JSR 官方网址:https://jcp.org/

• 小马哥JSR 收藏:https://github.com/mercyblitz/jsr

• Spring 官方文档根路径:https://docs.spring.io/spring/docs/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值