程序人生

当前位置:首页>程序人生

O2OA产品的底层基于JavaEE:JavaEE与Spring

时间:2022-03-08   

什么是JavaEE


JavaEE是一组建立在JavaSE之上的标准,解决企业级开发中的一系列问题.请特别留意,它仅仅是个标准,是对一系列接口的约定,众多厂商围绕这个标准做实现.如JBoss,WebSphere等.第一个版本的JavaEE 1.2在1999年被发布,到2017年的JavaEE8,已经经历了将近20年.那么JavaEE都有哪些标准,解决了什么问题呢?简单列举一下主要的标准:


  • Servlet:定义了如何处理Web请求,这个相信大家最熟悉

  • Java Server Faces:定义了如何使编写Web界面

  • JAX-RS:定义了如何编写RESTFul的接口

  • EJB:定义了如何编写“企业Bean”

  • JPA:定义了如何编写ORM和数据存取

  • JTA:定义了如何编写事务相关的代码

  • JMS:定义了如何编写消息队列程序

  • CDI:定义了如何编写依赖注入

  • JAX:定义了如何编写XML程序

  • JAX-WS: 定义了如何编写基于XML的网络服务,即SOAP

  • ……


什么是Spring 


早期的Spring定位于解决JavaEE在实际使用上的一系列问题,总结了一套最佳实践,并总结到了一套框架里.其中最重要的,就是所谓IoC(控制反转).spring中其实大量使用或者实现了JavaEE标准.比如spring-mvc是在servlet基础之上的封装.spring本身并不提供容器,而是支持使用任何支持servlet标准的容器(如tomcat,jetty等),经过多年发展,Spring发布了很多组件:


  • spring-core:Spring的Bean的管理,控制反转和程序上下文

  • spring-mvc:  web开发中的model-view-controller

  • spring-data: 数据层访问和封装

  • spring-boot: spring全家桶自助配置和部署管理工具

  • spring-batch:一个简单的批处理框架

  • spring-cloud:支持与许多云服务接口的整合

  • spring-security:认证和权限管理

  • ……


O2OA底层没有采用Spring的主要考量以下几个方面


  1. Spring本身是JavaEE的一个子集,遵循JavaEE规范.

  2. JavaEE7,JavaEE8,JavaEE9整体技术演进路线比较清晰,容易把握.

  3. 商用环境对JavaEE支持比较完善.

  4. 基于JavaEE标准的模块组装比较灵活,JSR的标准模块各大厂商都有实现,容易进行组合.

  5. JavaEE迁移到Spring相对比较容易,相反Spring迁移到JavaEE就要复杂的多.

  6. 为了一些实践目的(减少尺寸,减少启动时间...)对war进行了少量的修改,都是基于JavaEE标准的.

  7. JavaEE技术栈的更新能保持一贯性,相对容易学习.

  8. 如果您愿意可以直接使用Spring编写,Spring本身就运行在JavaEE容器中.


上一篇:没有了!

下一篇:没有了!