准备篇-关于JavaEE

什么JavaEE

JavaEE是一组建立在JavaSE之上的标准,解决企业级开发中的一些列问题。它仅仅是个标准,是对一系列接口的约定,众多厂商围绕这个标准做实现。JavaEE是一组JSR的合集。

JSR(Java Specification Request)正式的,开放的标准文档,由JCP审议,包括对Java技术平台的修改,补充和改进。

JavaEE标准

Servlet: 定义了如何处理Web请求
JAX-RS: 定义了如何编写RESTFul接口
JPA: 定义了如何编写ORM及数据存取
JAT: 定义了如何编写事务相关代码
CDI: 定义了如何编写依赖注入

JavaEE与Spring

spring本身大量使用或者实现了JavaEE标准,比如spring-mvc是在servlet基础上的封装。spring本身并不提供容器,而是支持任何支持servlet标准的容器,比如tomcat。spring-data实现了JPA,通过标准接口对数据进行操作

spring只是想更好的解决实际问题,JavaEE的实现做的好就用,不合适的就是封装或独立实现。由于JavaEE标准的滞后性(需要几大巨头开会协商通过),spring也会根据社区反应,先把产品做出来,自然与标准有差异。看谁更有话有权而已,没有谁对谁错

CDI与Spring IoC

这是标准与实践的一个很好得例子。Spring IoC是整个框架的核心,早在2004发布第一版时已经引入。spring流行以后,JavaEE在2009年才发布CDI标准。

CDI标准 @Inject, @Named, @Provider, @Qualifier, @Scope, @Singleton
Spring IoC标准 @Autowired, @Qualifier

CDI Scope: Application, Session, Request, Singleton
Spring Scope: singleton, prototype, request, session

你可能感兴趣的:(准备篇-关于JavaEE)